Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-1250] table row className scroll crashing

GitHub Issuen/a
TypeBug
PriorityTrivial
StatusClosed
ResolutionFixed
Resolution Date2011-04-17T01:55:38.000+0000
Affected Version/sn/a
Fix Version/sRelease 1.5.0
ComponentsiOS
Labelsclassname, tableviewrow
Reportercreston froats
AssigneeReggie Seagraves
Created2011-04-15T02:47:42.000+0000
Updated2011-04-17T01:55:38.000+0000

Description

className setting for TableViewRow can cause crashing when scrolling. className should be the same name for rows that have the same structural layout, as described by Don Thorpe in this ticket: http://developer.appcelerator.com/helpdesk/view/26271#c115691">http://developer.appcelerator.com/helpdesk/view/26271#c115691. However, currently we are forced to use unique className's for every row regardless if the layout is the same. Otherwise, we get the scroll crash as described in the above ticket.

Attachments

FileDateSize
scrollcrash2011-04-15T02:47:42.000+000079655

Comments

  1. netpro2k 2011-04-15

    Want to second this one. I am seeing all sorts of odd behavior with table views as they are scrolling. I am using classname as it is intended, where classNames are unique per layout of a cell, not content. This was working on 1.3.0 and 1.3.2 (though in 1.3.2 I was having issues with imageViews laoding, that seem to have been resolved in 1.3.3)

  2. Andrew Gioia 2011-04-15

    I'd also like to throw another comment on this one. All of my tableviews crash when I use setData([]) to clear them and then attempt to repopulate the table with rows using tableView.setData again, but only when I'm using 1.3.3 from head. This issue is not present in 1.3.2 (RC1), though I was having other issues with random table crashing in that as well.

  3. ctredway 2011-04-15

    assigning but I think this has been fixed already

  4. Luke Melia 2011-04-15

    In github master as of August 2nd, I'm experiencing similar things. When I have TableRowViews with an ImageView child and classnames for rows with matching structure, the ImageViews often show images from other rows.

  5. lansea90 2011-04-15

    I also experiencing the same things with Luke Melia in github master!

  6. lansea90 2011-04-15

    I found the bug in TiUIImageView.h

    [self setImage_:[self scaleImageIfRequired:[imageView image]]]; it reset the image url string with a UIImage* !!!!!
    should be
    [imageView setImage:[self scaleImageIfRequired:[imageView image]]];

    -(void)setWidth:(id)width {

       width = TiDimensionFromObject(width_);
       if (imageView != nil) {
           [self setImage_:[self scaleImageIfRequired:[imageView image]]];
       }
       

    }

    -(void)setHeight:(id)height {

       height = TiDimensionFromObject(height_);
       if (imageView != nil) {
           [self setImage_:[self scaleImageIfRequired:[imageView image]]];
       }
       

    }

  7. lansea90 2011-04-15

    anybody commit this bug???????

  8. Stephen Tramer 2011-04-15

    I'm no longer seeing any of the crashes described and the image behavior (if it still exists) belongs in a separate bug. Thom, can you confirm?

  9. Thomas Huelbert 2011-04-15

    Hey Stephen, I am unable to repro the crash. The image behavior is logged as https://appcelerator.lighthouseapp.com/projects/32238/tickets/1156-imageview-in-createtable"> https://appcelerator.lighthouseapp.com/projects/32238/tickets/1156-...
    and now assigned to you.

    I'm closing the crash as resolved.

  10. gero 2011-04-15

    OK, here some code to reproduce the issue. Scroll a bit up and down and the layout will be messed up soon (log output: "[WARN] Orphaned child found during proxy transfer!"). Some more scrolling and the app will freeze.

    API 1.4.0; iPhone SDK 4.0.1; Simulator

        var max = 100;
        var data = [];
        
        for (var c=0; c<max; c++) {
            
            var row = Ti.UI.createTableViewRow({
                className: 'feedlist',
                height: 'auto'
            });
            
            var textview = Ti.UI.createView({
                layout: 'vertical',
                height: 'auto'
        
            });
        
            var h1 = Ti.UI.createLabel({
                text: 'Title title title #'+c,
                height: 'auto'
            });
            textview.add(h1);
            
            var cre = Ti.UI.createLabel({
                text: 'Creator creator creator#'+c,
                height: 'auto',
                color: '#ccc'
            });
            textview.add(cre);
        
            row.add(textview);
            data[c] = row;
        }
        
        var win = Ti.UI.createWindow();
        var tableview = Ti.UI.createTableView();
        tableview.setData(data);
        win.add(tableview);
        win.open();
        
  11. Thomas Huelbert 2011-04-15

    thanks for the code gero - Back to you Stephen, console log attached (no crash log produced on device, app stays in a hung state after a few scrolls)

  12. Stephen Tramer 2011-04-15

    No longer crashes, but there are serious redraw issues. Working on it.

  13. Jeff Haynie 2011-04-15

    (from [790ec1961c1783718a283f91ff38ec500d37c2d6]) [#1250 state:fixed-in-qa]: Fix for deadlock that occured when requesting a relayout while laying out. - Many className reuse speed improvements - Fixed draw problem caused by reproxying http://github.com/appcelerator/titanium_mobile/commit/790ec1961c1783718a283f91ff38ec500d37c2d6"> http://github.com/appcelerator/titanium_mobile/commit/790ec1961c178...

  14. lansea90 2011-04-15

    still have the following probilem, Luke Melia and I found, and I found the bug in TiUIImageView.h, please check.
    "When I have TableRowViews with an ImageView child and same classnames for rows with matching structure, the ImageViews often show images from other rows."

  15. Thomas Huelbert 2011-04-15

    lansea90 - does lighthouse ticket 1156 cover the behavior you are describing? if not, it may be worth logging a new ticket to make sure the issue does not get lost.

    In this bug - I am no longer able to crash, but am seeing some scrolling performance issues as well as some redraw. I've opened ticket 1693 to address the scroll performance and redraw.

JSON Source