Adium

Changeset 23950

Show
Ignore:
Timestamp:
06/13/2008 06:52:18 PM (6 months ago)
Author:
evands
Message:

When an object's address book prefs change, update the object rather than corrupting our understanding of global prefs. Fixes #10051

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Source/AIAddressBookUserIconSource.m

    r23649 r23950  
    103103                                                        object:(AIListObject *)object preferenceDict:(NSDictionary *)prefDict firstTime:(BOOL)firstTime 
    104104{ 
    105         AIUserIconPriority oldPriority = priority; 
    106         BOOL oldUseABImages = useABImages; 
    107  
    108         preferAddressBookImages = [[prefDict objectForKey:KEY_AB_PREFER_ADDRESS_BOOK_IMAGES] boolValue]; 
    109         useABImages = [[prefDict objectForKey:KEY_AB_USE_IMAGES] boolValue]; 
    110          
    111         priority = (preferAddressBookImages ? AIUserIconHighPriority : AIUserIconLowPriority); 
    112         if ((priority != oldPriority) || (oldUseABImages != useABImages)) { 
    113                 [AIUserIcons userIconSource:self priorityDidChange:priority fromPriority:oldPriority]; 
     105        if (object) { 
     106                if ([AIUserIcons userIconSource:self changeWouldBeRelevantForObject:object]) { 
     107                        [AIUserIcons updateUserIconForObject:object]; 
     108                } 
     109 
     110        } else { 
     111                AIUserIconPriority oldPriority = priority; 
     112                BOOL oldUseABImages = useABImages; 
     113                 
     114                preferAddressBookImages = [[prefDict objectForKey:KEY_AB_PREFER_ADDRESS_BOOK_IMAGES] boolValue]; 
     115                useABImages = [[prefDict objectForKey:KEY_AB_USE_IMAGES] boolValue]; 
     116                 
     117                priority = (preferAddressBookImages ? AIUserIconHighPriority : AIUserIconLowPriority); 
     118                if ((priority != oldPriority) || (oldUseABImages != useABImages)) { 
     119                        [AIUserIcons userIconSource:self priorityDidChange:priority fromPriority:oldPriority]; 
     120                } 
    114121        } 
    115122}