On Jul 27, 2008, at 12:57 PM, [EMAIL PROTECTED] wrote:
-------------- Original message ----------------------
From: glenn andreas <[EMAIL PROTECTED]>
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 (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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [EMAIL PROTECTED]