Re: NSWindow Subclass close/dealloc question
Re: NSWindow Subclass close/dealloc question
- Subject: Re: NSWindow Subclass close/dealloc question
- From: Dave <email@hidden>
- Date: Thu, 02 Apr 2015 17:53:08 +0100
> On 2 Apr 2015, at 17:09, Ken Thomases <email@hidden> wrote:
>
> On Apr 2, 2015, at 10:56 AM, Dave <email@hidden> wrote:
>
>> I’m getting a crash in dealloc in an NSWindow Subclass.
>
>> 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?
>
> If you have a window which is not being controlled by a window controller and whose releasedWhenClosed property is true (default for NSWindow), then it will be released when it is closed (unsurprisingly). Therefore, you should not release it again yourself or you will over-release it and cause a crash (or worse).
>
> The easiest thing to do is to always turn off releasedWhenClosed so that window objects obey normal memory management conventions.
>
> Regards,
> Ken
Hi thanks for this, Yes, releasedWhenClosed because there it used a lot of memory. I guess I could just test of releasedWhenClosed == YES and NOT call [super close]; in my subclasses close method?
All the Best
Dave
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden