summaryrefslogtreecommitdiffstats
path: root/make/config/jogl/cgl-macosx.cfg
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2013-02-15 17:15:49 +0100
committerSven Gothel <[email protected]>2013-02-15 17:15:49 +0100
commit2aeff053c55dadafb94bfbba661250e0c96f1fe5 (patch)
treef65c8fd9a2ccd3b44bb90a59b99fe59fa58fcb88 /make/config/jogl/cgl-macosx.cfg
parentf6e6fab2a7ddfb5c9b614cb072c27ff697629161 (diff)
Fix Bug 691 (part-2): Extra '[subLayer release]' is wrong, since 'CGL.releaseNSOpenGLLayer' triggers release - but very late w/ AWT usage.
OSXUtil_RemoveCASublayer0's added '[subLayer release]' in commit f6e6fab2a7ddfb5c9b614cb072c27ff697629161 is wrong, since 'CGL.releaseNSOpenGLLayer' actually does trigger it's release. This was not seen w/ AWT tests, since it happens very later. A NewtCanvasAWT test disclosed this error -> removed that extra release call. The culprit for the late release w/ AWT usage was CGL.createNSOpenGLLayer's call in the current thread. Moving it to the Main-Thread fixed the problem. All CALayer lifecycle calls are issued on the Main-Thread now. NSOpenGLLayer's CVDisplayLink OpenGL fitting via 'CVDisplayLinkSetCurrentCGDisplayFromOpenGLContext' is now performed at it's context creation in 'NSOpenGLLayer::openGLContextForPixelFormat'. The 'extra' release of the NSOpenGLLayer's NSOpenGLContext as introduced in commit f6e6fab2a7ddfb5c9b614cb072c27ff697629161 is still valid.
Diffstat (limited to 'make/config/jogl/cgl-macosx.cfg')
-rw-r--r--make/config/jogl/cgl-macosx.cfg9
1 files changed, 9 insertions, 0 deletions
diff --git a/make/config/jogl/cgl-macosx.cfg b/make/config/jogl/cgl-macosx.cfg
index 203802d29..98123f605 100644
--- a/make/config/jogl/cgl-macosx.cfg
+++ b/make/config/jogl/cgl-macosx.cfg
@@ -34,6 +34,13 @@ Opaque long NSOpenGLLayer *
CustomCCode #include </usr/include/machine/types.h>
CustomCCode #include "macosx-window-system.h"
+AccessControl createNSOpenGLLayerImpl PRIVATE
+AccessControl releaseNSOpenGLLayerImpl PRIVATE
+RenameJavaMethod createNSOpenGLLayer createNSOpenGLLayerImpl
+RenameJavaMethod releaseNSOpenGLLayer releaseNSOpenGLLayerImpl
+
+IncludeAs CustomJavaCode CGL cgl-macosx-CustomJavaCode.java
+
# Implement the first argument to getProcAddress as String instead
# of byte[]
ArgumentIsString getProcAddress 0
@@ -53,3 +60,5 @@ DropUniqVendorExtensions SGIX
DropUniqVendorExtensions SUN
DropUniqVendorExtensions WIN
+Import com.jogamp.common.util.Function
+Import jogamp.nativewindow.macosx.OSXUtil