Hi,

I’m getting a crash in dealloc in an NSWindow Subclass.

I have a class that creates and closes Windows based on Notifications received 
from elsewhere. One of the Notifications is “CloseWindow”. 

I added this to my subclass:

-(void) close
{
LogIfDave(@"Overlay close");

[super close];                          //Crashes with this line in, ok without.
}


-(void) dealloc
{
LogIfDave(@"Overlay dealloc");

self.prop1 = nil;
self.prop2 = nil;
self.prop3 = nil;

[super dealloc];
}

The Call Sequence when I get the notification is:

[self.overlay close];
self.overlay = nil;                             //this causes release to be 
called, e.g. the retainCount is == 1,

overlay is defined as:

@property (nonatomic,retain) LTWOverlay*                                overlay;


If I run this, then I get a crash when the autorelease pool is drained. 
However, if I take out the line:

[super close];

in my close method, all works fine.

Is this expected?

All the Best
Dave






_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to