Adium

Changeset 25568

Show
Ignore:
Timestamp:
11/12/2008 02:58:39 AM (2 months ago)
Author:
catfish_man
Message:

So, the theory I have as to why this assertion is being hit is that we aren't resorting in all situations we need to. This results in invisible people being mixed in with visible ones. I'm attempting to catch it happening by resorting in response to failure and trying again... we'll see if it turns up anything interesting.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Frameworks/Adium Framework/Source/AIListGroup.m

    r25470 r25568  
    9595{ 
    9696        AIListObject *obj = [self.containedObjects objectAtIndex:index]; 
    97         if(!obj.visible) 
     97        if(!obj.visible) { 
    9898                AILog(@"Attempted to get visible object at index %i of %@, but %@ is not visible. With contained objects %@, visibility count is %i", index, self, obj, self.containedObjects, self.visibleCount); 
     99                [self sort]; 
     100                AIListObject *obj = [self.containedObjects objectAtIndex:index]; 
     101                if(!obj.visible) 
     102                        AILog(@"Failed to correct for messed up visibleObjectAtIndex by sorting"); 
     103                else 
     104                        AILog(@"Successfully corrected for messed up visibleObjectAtIndex by sorting"); 
     105        } 
     106 
    99107 
    100108        return obj;