fix copy/dealloc of named images

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28993 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2009-11-12 12:44:40 +00:00
parent 2d2de1eddf
commit 68274a124a
2 changed files with 17 additions and 11 deletions

View file

@ -1,3 +1,7 @@
2009-11-12 Richard Frith-Macdonald <rfm@gnu.org>
* Source/NSImage.m: fixup copy/dealloc handling of named images
2009-11-12 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSWindow.m: Implement isZommed. Move the call to

View file

@ -480,16 +480,18 @@ repd_for_rep(NSArray *_reps, NSImageRep *rep)
- (void) dealloc
{
RELEASE(_reps);
/* Make sure we don't remove name from the nameDict if we are just a copy
of the named image, not the original image */
if (_name && self == [[nameDict objectForKey: _name] _resource])
[[nameDict objectForKey: _name] _setResource: nil];
RELEASE(_name);
TEST_RELEASE(_fileName);
RELEASE(_color);
[super dealloc];
if (_name == nil)
{
RELEASE(_reps);
TEST_RELEASE(_fileName);
RELEASE(_color);
[super dealloc];
}
else
{
[self retain];
NSLog(@"Warning ... attempt to deallocate image with name: %@", _name);
}
}
- (id) copyWithZone: (NSZone *)zone
@ -501,7 +503,7 @@ repd_for_rep(NSArray *_reps, NSImageRep *rep)
copy = (NSImage*)NSCopyObject (self, 0, zone);
RETAIN(_name);
_name = nil;
RETAIN(_fileName);
RETAIN(_color);
copy->_lockedView = nil;