XMPPContact: Handle presences without resource

This commit is contained in:
Florian Zeitz 2013-02-10 23:23:56 +01:00
parent c59185013e
commit dc9d18f536

View file

@ -75,14 +75,25 @@
- (void)XMPP_setPresence: (XMPPPresence*)presence - (void)XMPP_setPresence: (XMPPPresence*)presence
resource: (OFString*)resource resource: (OFString*)resource
{ {
[presences setObject: presence if (resource != nil)
forKey: resource]; [presences setObject: presence
forKey: resource];
else
[presences setObject: presence
forKey: @""];
OF_SETTER(lockedOnJID, nil, YES, 0); OF_SETTER(lockedOnJID, nil, YES, 0);
} }
- (void)XMPP_removePresenceForResource: (OFString*)resource - (void)XMPP_removePresenceForResource: (OFString*)resource
{ {
[presences removeObjectForKey: resource]; if (resource != nil) {
[presences removeObjectForKey: resource];
} else {
[presences release];
presences = [[OFMutableDictionary alloc] init];
}
OF_SETTER(lockedOnJID, nil, YES, 0); OF_SETTER(lockedOnJID, nil, YES, 0);
} }