Re: Why does this leak memory?
Re: Why does this leak memory?
- Subject: Re: Why does this leak memory?
- From: Matt Ball <email@hidden>
- Date: Sun, 10 Jul 2005 22:02:52 -0400
I am initializing image (the NSCell subclass's "image") in the cell init:
- (id)init
{
self = [super init];
if (self) {
image = [[NSImage alloc] init];
}
return self;
}
In the debugger, I get:
Program loaded.
run
[Switching to process 2683 local thread 0xf03]
Running…
Program received signal: "EXC_BAD_ACCESS".
Unable to disassemble objc_msgSend_rtp.
And the crash happens as soon as the tableView's mouseDown: event is invoked.
- Matt Ball
On 7/10/05, Charilaos Skiadas <email@hidden> wrote:
>
>
> On Jul 10, 2005, at 8:41 PM, Matt Ball wrote:
>
>
> - (void)setImage:(NSImage *)anImage
>
> {
>
> if(anImage != image && anImage != nil)
>
> {
>
> // [image release]; <-- I get a crash if I uncomment this line
>
> image = [anImage retain];
>
> }
>
> }
>
> You should not comment lines simply because you get a crash if you uncomment
> them! If you get a crash, then there are problems with your code elsewhere.
> If you leave the setter method as it is right now, each time it is called it
> will leak the object that image points to.
>
> By the way, where are you initializing image?
>
> And as Rosyna just pointed out, there are way too many different things
> called image. Things will become more clear if you use different names where
> appropriate.
>
> Also, go through your code with the debugger and tell us exactly where it
> crashes, when it does.
>
>
> Haris
>
>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden