Jogamp
Bug 1299: Fix Warning when using JOGL on Mac OS X El Capitan
authorSven Gothel <sgothel@jausoft.com>
Mon, 15 Jan 2018 06:21:41 +0000 (07:21 +0100)
committerSven Gothel <sgothel@jausoft.com>
Mon, 15 Jan 2018 06:21:41 +0000 (07:21 +0100)
It turned out to be a missing CATransaction,
i.e. the native create/destroy commands had to be encapsulated
within [CATransaction begin] and [CATransaction commit]
causing the uncommitted CATransaction.

src/nativewindow/native/macosx/OSXmisc.m

index ce4a3b7..80ddee4 100644 (file)
@@ -336,6 +336,7 @@ JNIEXPORT jlong JNICALL Java_jogamp_nativewindow_macosx_OSXUtil_CreateNSWindow0
   (JNIEnv *env, jclass unused, jint x, jint y, jint width, jint height)
 {
     NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
+    [CATransaction begin];
     NSRect rect = NSMakeRect(x, y, width, height);
 
     // Allocate the window
@@ -365,6 +366,7 @@ NS_ENDHANDLER
     // [myView lockFocus];
     // [myView unlockFocus];
 
+    [CATransaction commit];
     [pool release];
 
     return (jlong) ((intptr_t) myWindow);
@@ -379,9 +381,12 @@ JNIEXPORT void JNICALL Java_jogamp_nativewindow_macosx_OSXUtil_DestroyNSWindow0
   (JNIEnv *env, jclass unused, jlong nsWindow)
 {
     NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
-    NSWindow* mWin = (NSWindow*) ((intptr_t) nsWindow);
+    [CATransaction begin];
 
+    NSWindow* mWin = (NSWindow*) ((intptr_t) nsWindow);
     [mWin close]; // performs release!
+
+    [CATransaction commit];
     [pool release];
 }
 
http://JogAmp.org git info: FAQ, tutorial and man pages.