mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-05-31 06:40:47 +00:00
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:
parent
2d2de1eddf
commit
68274a124a
2 changed files with 17 additions and 11 deletions
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue