summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Walzer <kw@codebykevin.com>2015-03-10 14:47:46 (GMT)
committerKevin Walzer <kw@codebykevin.com>2015-03-10 14:47:46 (GMT)
commit64b26dc28d62fc5eb07b813392e1df81ca283d8e (patch)
tree65adddea29d9cc23e5195fa28d7f90e0e4fdcd95
parent9aafb15f87bae5988c0f56aaa1d774ddf0b8fd3b (diff)
downloadtk-64b26dc28d62fc5eb07b813392e1df81ca283d8e.zip
tk-64b26dc28d62fc5eb07b813392e1df81ca283d8e.tar.gz
tk-64b26dc28d62fc5eb07b813392e1df81ca283d8e.tar.bz2
Fix for crash when image is dealloc'ed prematurely in Cocoa
-rw-r--r--macosx/tkMacOSXDraw.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/macosx/tkMacOSXDraw.c b/macosx/tkMacOSXDraw.c
index f94c8af..c1ffdf8 100644
--- a/macosx/tkMacOSXDraw.c
+++ b/macosx/tkMacOSXDraw.c
@@ -148,7 +148,8 @@ BitmapRepFromDrawableRect(
cg_image = CGBitmapContextCreateImage( (CGContextRef) cg_context);
sub_cg_image = CGImageCreateWithImageInRect(cg_image, image_rect);
if ( sub_cg_image ) {
- bitmap_rep = [[NSBitmapImageRep alloc] autorelease];
+ /*This can be dealloc'ed prematurely if set for autorelease, causing crashes.*/
+ bitmap_rep = [NSBitmapImageRep alloc];
[bitmap_rep initWithCGImage:sub_cg_image];
}
if ( cg_image ) {
@@ -162,7 +163,8 @@ BitmapRepFromDrawableRect(
width,height);
if ( [view lockFocusIfCanDraw] ) {
- bitmap_rep = [[NSBitmapImageRep alloc] autorelease];
+ /*This can be dealloc'ed prematurely if set for autorelease, causing crashes.*/
+ bitmap_rep = [NSBitmapImageRep alloc];
bitmap_rep = [bitmap_rep initWithFocusedViewRect:view_rect];
[view unlockFocus];
} else {