Minor corrections to toolbar to correct a memory leak.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@19684 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Gregory John Casamento 2004-07-05 12:57:47 +00:00
parent d8efe75de4
commit 6e7ef17e28
3 changed files with 59 additions and 15 deletions

View file

@ -1041,6 +1041,8 @@ static id validationCenter;
- (void) _setDelegate: (id)delegate broadcast: (BOOL)broadcast
{
if(_delegate)
[nc removeObserver: _delegate name: nil object: self];
if (_delegate == delegate
|| (broadcast == NO && [_delegate isMemberOfClass: [delegate class]]))
@ -1063,10 +1065,8 @@ static id validationCenter;
CHECK_REQUIRED_METHOD(toolbarAllowedItemIdentifiers:);
CHECK_REQUIRED_METHOD(toolbarDefaultItemIdentifiers:);
if (_delegate)
[nc removeObserver: _delegate name: nil object: self];
ASSIGN(_delegate, delegate);
// assign the delegate...
_delegate = delegate;
#define SET_DELEGATE_NOTIFICATION(notif_name) \
if ([_delegate respondsToSelector: @selector(toolbar##notif_name:)]) \