Don't retain the delegate to prevent a reference cycle.

This commit is contained in:
Jonathan Schleifer 2011-10-24 20:32:44 +02:00
parent 5a2f8ac0f4
commit cfb0c5f9bd
2 changed files with 3 additions and 6 deletions

View file

@ -83,7 +83,7 @@
@property (copy) OFString *username, *password, *server, *domain, *resource;
@property (copy, readonly) XMPPJID *JID;
@property (assign) uint16_t port;
@property (retain) id <XMPPConnectionDelegate> delegate;
@property (assign) id <XMPPConnectionDelegate> delegate;
@property (readonly, retain) XMPPRoster *roster;
@property (readonly, retain, getter=socket) OFTCPSocket *sock;
@property (assign) BOOL encryptionRequired;

View file

@ -81,7 +81,6 @@
[domain release];
[resource release];
[JID release];
[delegate release];
[authModule release];
[bindID release];
[sessionID release];
@ -895,14 +894,12 @@
- (void)setDelegate: (id <XMPPConnectionDelegate>)delegate_
{
id old = delegate;
delegate = [(id)delegate_ retain];
[old release];
delegate = (id <XMPPConnectionDelegate, OFObject>)delegate_;
}
- (id <XMPPConnectionDelegate>)delegate
{
return [[delegate retain] autorelease];
return delegate;
}
- (XMPPRoster*)roster