Changeset 3619
- Timestamp:
- 03/12/07 22:37:53 (2 years ago)
- Files:
-
- trunk/Panels/JVChatRoomMember.m (modified) (3 diffs)
- trunk/Panels/JVChatRoomPanel.m (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Panels/JVChatRoomMember.m
r3580 r3619 12 12 - (NSString *) _selfStoredNickname; 13 13 - (NSString *) _selfCompositeName; 14 - (void) _detach; 14 15 @end 15 16 … … 51 52 52 53 - (void) dealloc { 53 [[NSNotificationCenter defaultCenter] removeObserver:self name:MVChatUserInformationUpdatedNotification object:_user]; 54 [[NSNotificationCenter defaultCenter] removeObserver:self name:MVChatUserStatusChangedNotification object:_user]; 55 [[NSNotificationCenter defaultCenter] removeObserver:self name:MVChatUserAwayStatusMessageChangedNotification object:_user]; 56 [[NSNotificationCenter defaultCenter] removeObserver:self name:MVChatUserIdleTimeUpdatedNotification object:_user]; 54 [self _detach]; 57 55 58 56 [_user release]; … … 758 756 759 757 @implementation JVChatRoomMember (JVChatMemberPrivate) 758 - (void) _detach { 759 [[NSNotificationCenter defaultCenter] removeObserver:self name:MVChatUserInformationUpdatedNotification object:_user]; 760 [[NSNotificationCenter defaultCenter] removeObserver:self name:MVChatUserStatusChangedNotification object:_user]; 761 [[NSNotificationCenter defaultCenter] removeObserver:self name:MVChatUserAwayStatusMessageChangedNotification object:_user]; 762 [[NSNotificationCenter defaultCenter] removeObserver:self name:MVChatUserIdleTimeUpdatedNotification object:_user]; 763 764 _room = nil; 765 } 766 760 767 - (void) _refreshIcon:(NSNotification *) notification { 761 768 [[_room windowController] reloadListItem:self andChildren:NO]; trunk/Panels/JVChatRoomPanel.m
r3610 r3619 35 35 - (NSString *) _selfStoredNickname; 36 36 - (NSString *) _selfCompositeName; 37 - (void) _detach; 37 38 @end 38 39 … … 88 89 [[NSNotificationCenter defaultCenter] removeObserver:self]; 89 90 91 [_sortedMembers makeObjectsPerformSelector:@selector( _detach )]; 92 [_nextMessageAlertMembers makeObjectsPerformSelector:@selector( _detach )]; 93 90 94 [_sortedMembers release]; 91 95 [_preferredTabCompleteNicknames release]; … … 410 414 - (void) joined { 411 415 _banListSynced = NO; 416 417 [_sortedMembers makeObjectsPerformSelector:@selector( _detach )]; 412 418 [_sortedMembers removeAllObjects]; 419 413 420 [_preferredTabCompleteNicknames removeAllObjects]; 421 422 [_nextMessageAlertMembers makeObjectsPerformSelector:@selector( _detach )]; 414 423 [_nextMessageAlertMembers removeAllObjects]; 415 424 … … 1004 1013 [self performNotification:@"JVChatMemberLeftRoom" withContextInfo:context]; 1005 1014 1015 [mbr _detach]; 1016 1006 1017 [_preferredTabCompleteNicknames removeObject:[mbr nickname]]; 1007 1018 [_sortedMembers removeObjectIdenticalTo:mbr]; … … 1073 1084 [_windowController showChatViewController:[_windowController activeChatViewController]]; 1074 1085 1086 [mbr _detach]; 1087 1075 1088 [_preferredTabCompleteNicknames removeObject:[mbr nickname]]; 1076 1089 [_sortedMembers removeObjectIdenticalTo:mbr]; … … 1120 1133 if( [_windowController selectedListItem] == mbr ) 1121 1134 [_windowController showChatViewController:[_windowController activeChatViewController]]; 1135 1136 [mbr _detach]; 1122 1137 1123 1138 [_preferredTabCompleteNicknames removeObject:[mbr nickname]]; … … 1422 1437 while( ( member = [enumerator nextObject] ) ) { 1423 1438 JVChatRoomMember *listItem = [self chatRoomMemberForUser:member]; 1424 if( listItem ) [_sortedMembers removeObjectIdenticalTo:listItem]; 1439 if( listItem ) { 1440 [listItem _detach]; 1441 [_sortedMembers removeObjectIdenticalTo:listItem]; 1442 } 1425 1443 } 1426 1444 }
