Browse Source

Safer control of memory allocation of aux_bitmap member of FLView

pull/108/head
ManoloFLTK 6 years ago
parent
commit
b1bcd1f19f
  1. 11
      src/Fl_cocoa.mm

11
src/Fl_cocoa.mm

@ -2202,14 +2202,19 @@ static FLTextInputContext* fltextinputcontext_instance = nil;
} }
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_14 #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_14
- (void)create_aux_bitmap:(CGContextRef)gc retina:(BOOL)r { - (void)create_aux_bitmap:(CGContextRef)gc retina:(BOOL)r {
CGColorSpaceRef cspace = CGBitmapContextGetColorSpace(gc);
CFRetain(cspace);
aux_bitmap = CGBitmapContextCreate(NULL, CGBitmapContextGetWidth(gc), CGBitmapContextGetHeight(gc), aux_bitmap = CGBitmapContextCreate(NULL, CGBitmapContextGetWidth(gc), CGBitmapContextGetHeight(gc),
CGBitmapContextGetBitsPerComponent(gc), CGBitmapContextGetBytesPerRow(gc), CGBitmapContextGetBitsPerComponent(gc), CGBitmapContextGetBytesPerRow(gc),
CGBitmapContextGetColorSpace(gc), CGBitmapContextGetBitmapInfo(gc)); cspace, CGBitmapContextGetBitmapInfo(gc));
if (r) CGContextScaleCTM(aux_bitmap, 2, 2); if (r) CGContextScaleCTM(aux_bitmap, 2, 2);
} }
- (void)reset_aux_bitmap { - (void)reset_aux_bitmap {
CGContextRelease(aux_bitmap); if (aux_bitmap) {
aux_bitmap = NULL; CFRelease(CGBitmapContextGetColorSpace(aux_bitmap));
CFRelease(aux_bitmap);
aux_bitmap = NULL;
}
} }
#endif #endif
- (BOOL)process_keydown:(NSEvent*)theEvent - (BOOL)process_keydown:(NSEvent*)theEvent

Loading…
Cancel
Save