Don't retain the delegate to prevent a reference cycle.
This commit is contained in:
parent
5a2f8ac0f4
commit
cfb0c5f9bd
2 changed files with 3 additions and 6 deletions
|
@ -83,7 +83,7 @@
|
||||||
@property (copy) OFString *username, *password, *server, *domain, *resource;
|
@property (copy) OFString *username, *password, *server, *domain, *resource;
|
||||||
@property (copy, readonly) XMPPJID *JID;
|
@property (copy, readonly) XMPPJID *JID;
|
||||||
@property (assign) uint16_t port;
|
@property (assign) uint16_t port;
|
||||||
@property (retain) id <XMPPConnectionDelegate> delegate;
|
@property (assign) id <XMPPConnectionDelegate> delegate;
|
||||||
@property (readonly, retain) XMPPRoster *roster;
|
@property (readonly, retain) XMPPRoster *roster;
|
||||||
@property (readonly, retain, getter=socket) OFTCPSocket *sock;
|
@property (readonly, retain, getter=socket) OFTCPSocket *sock;
|
||||||
@property (assign) BOOL encryptionRequired;
|
@property (assign) BOOL encryptionRequired;
|
||||||
|
|
|
@ -81,7 +81,6 @@
|
||||||
[domain release];
|
[domain release];
|
||||||
[resource release];
|
[resource release];
|
||||||
[JID release];
|
[JID release];
|
||||||
[delegate release];
|
|
||||||
[authModule release];
|
[authModule release];
|
||||||
[bindID release];
|
[bindID release];
|
||||||
[sessionID release];
|
[sessionID release];
|
||||||
|
@ -895,14 +894,12 @@
|
||||||
|
|
||||||
- (void)setDelegate: (id <XMPPConnectionDelegate>)delegate_
|
- (void)setDelegate: (id <XMPPConnectionDelegate>)delegate_
|
||||||
{
|
{
|
||||||
id old = delegate;
|
delegate = (id <XMPPConnectionDelegate, OFObject>)delegate_;
|
||||||
delegate = [(id)delegate_ retain];
|
|
||||||
[old release];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (id <XMPPConnectionDelegate>)delegate
|
- (id <XMPPConnectionDelegate>)delegate
|
||||||
{
|
{
|
||||||
return [[delegate retain] autorelease];
|
return delegate;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (XMPPRoster*)roster
|
- (XMPPRoster*)roster
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue