Index: src/XMPPConnection.h ================================================================== --- src/XMPPConnection.h +++ src/XMPPConnection.h @@ -81,11 +81,11 @@ #ifdef OF_HAVE_PROPERTIES @property (copy) OFString *username, *password, *server, *domain, *resource; @property (copy, readonly) XMPPJID *JID; @property (assign) uint16_t port; -@property (retain) id delegate; +@property (assign) id delegate; @property (readonly, retain) XMPPRoster *roster; @property (readonly, retain, getter=socket) OFTCPSocket *sock; @property (assign) BOOL encryptionRequired; @property (readonly) BOOL encrypted; #endif Index: src/XMPPConnection.m ================================================================== --- src/XMPPConnection.m +++ src/XMPPConnection.m @@ -79,11 +79,10 @@ [password release]; [server release]; [domain release]; [resource release]; [JID release]; - [delegate release]; [authModule release]; [bindID release]; [sessionID release]; [roster release]; @@ -893,18 +892,16 @@ return port; } - (void)setDelegate: (id )delegate_ { - id old = delegate; - delegate = [(id)delegate_ retain]; - [old release]; + delegate = (id )delegate_; } - (id )delegate { - return [[delegate retain] autorelease]; + return delegate; } - (XMPPRoster*)roster { return [[roster retain] autorelease];