Adium

Changeset 22497

Show
Ignore:
Timestamp:
01/26/2008 05:12:54 PM (10 months ago)
Author:
evands
Message:

Merged [22496]: The preference controller no longer permanently retains every object stored as a preference... which means that classes using it have to be appropriately responsible. The fast user switching support plugin was storing NSNumber objects used when fast user switching or the screensaver changes (when such activities are supposed to cause status changes) without retaining them. This fixes that and so fixes crashiness.

Fixes #9040. Fixes #9060.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/adium-1.2/Source/ESFastUserSwitchingSupportPlugin.m

    r20483 r22497  
    8080                                                        object:(AIListObject *)object preferenceDict:(NSDictionary *)prefDict firstTime:(BOOL)firstTime 
    8181{ 
    82         fastUserSwitchStatusID = [prefDict objectForKey:KEY_STATUS_FUS_STATUS_STATE_ID]; 
    83         screenSaverStatusID    = [prefDict objectForKey:KEY_STATUS_SS_STATUS_STATE_ID]; 
     82        [fastUserSwitchStatusID release]; 
     83        fastUserSwitchStatusID = [[prefDict objectForKey:KEY_STATUS_FUS_STATUS_STATE_ID] retain]; 
     84        [screenSaverStatusID release]; 
     85        screenSaverStatusID    = [[prefDict objectForKey:KEY_STATUS_SS_STATUS_STATE_ID] retain]; 
    8486         
    8587        fastUserSwitchStatus = [[prefDict objectForKey:KEY_STATUS_FUS] boolValue]; 
     
    105107        [accountsToReconnect release]; 
    106108         
     109        [fastUserSwitchStatusID release]; 
     110        [screenSaverStatusID release]; 
     111 
    107112        [super dealloc]; 
    108113}