Re: Quick Looking big files crash
Re: Quick Looking big files crash
- Subject: Re: Quick Looking big files crash
- From: Brad Stone <email@hidden>
- Date: Tue, 03 May 2011 21:09:31 -0400
Interesting, OK, now remember, t this is new to me.
To begin the QL panel I run this required method:
- (void)beginPreviewPanelControl:(QLPreviewPanel *)panel
{
previewPanel = [panel retain];
panel.delegate = self;
panel.dataSource = self;
}
and then it ends with
- (void)endPreviewPanelControl:(QLPreviewPanel *)panel
{
[previewPanel release];
previewPanel = nil;
}
Where QLPreviewPanel* previewPanel; is defined in my header file.
The crash happens after the begin and never gets to the end.
I see here http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/GarbageCollection/Articles/gcCoreFoundation.html that to "ensure the longevity of Objective-C objects, you should use CFRetain instead of retain".
I haven't been able to find the correct syntax to replace the retain/release with CFRetain/CFRelease
On May 3, 2011, at 7:51 PM, Wim Lewis wrote:
>
> On 3 May 2011, at 4:03 PM, Brad Stone wrote:
>> I have a symbolic breakpoint set and it stops on auto_refcount_underflow_error, even the small files. If I continue the doc shows in QL.
>
> Presumably, a few stack frames up, there will be a call to CFRelease() which is causing the underflow (what would be an over-released zombie in a non-GC app).
>
> The first thing I'd look for is using CFRelease() when you should call -release (or vise versa, and the same for retain): code written pre-GC would treat those as equivalent, but in a GC or optional-GC world they need to be treated as operating on distinct kinds of refcount.
>
>
_______________________________________________
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