Re: NSGraphicsContext restore crashes my xtension
Re: NSGraphicsContext restore crashes my xtension
- Subject: Re: NSGraphicsContext restore crashes my xtension
- From: glenn andreas <email@hidden>
- Date: Sun, 27 Jul 2008 13:24:55 -0500
On Jul 27, 2008, at 12:57 PM, email@hidden wrote:
-------------- Original message ----------------------
From: glenn andreas <email@hidden>
You're setting a graphics context:
// uncommenting the next line works fine for all ads except the
last which
// causes a crash after the last ad image is placed.
//[NSGraphicsContext setCurrentContext: nsContext];
But you're never restoring the original context, and as a result, the
context is autoreleased later (and is still the current context).
saveGraphicsState and restoreGraphicsState only saves and restores
the
state of the current context - it doesn't save/restore the current
context...
If you look a couple of lines down from that one, you'll see
[nsContext restoreGraphicsState];
It doesn't seem to make any difference when I uncomment that line as
the gdb backtrace of the crash is exactly the same.
Is that "restoreGraphicsState " what you mean?
restoreGraphicsState restores the state of the current context - it
does not restore the context to the previous context. You need to
explicitly save the current context before you do setCurrentContext:
NSGraphicsContext *oldContext = [NSGraphicsContext currentContext];
[NSGraphicsContext setCurrentContext: nsContext];
... do drawing in the nsContext (save/restoreGraphics state impacts
internal variables of nsContext)
[NSGraphicsContext setCurrentContext: oldContext];
_______________________________________________
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