aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2009-07-01 07:32:38 +0000
committerSven Gothel <[email protected]>2009-07-01 07:32:38 +0000
commit49846bce691962e926b81f9ec86336487f64505b (patch)
tree8e0c08b782a058ba481bb53b9c7a13b4f1e4a8cc /src
parent214e94847ac097e25fb82429e599357b090ba83e (diff)
- Fixed: JOGL Cg Dependencies ..
- Cg classes reside in jogl.cg.jar - Restrict native Cg library dependency only to the jogl cg library, which is loaded from the CgGL class only. - Tested Cg demos with and w/o Cg installation, tested regular GL demos with and w/o Cg installation. (Linux & MacOSX) - jogl/etc/profile.jogl - Changed invocation: $0 <JOGL-PROFILE> [jogl-build-dir] - Autodetects if used from within a autobuild directory - Added it to the autobuild zip file - Fixed: NativeWindow X11GraphicsScreen, adding missing Toolkit locks - Set RI to true ! git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@2009 232f8b59-042b-4e1e-8c03-345bb8c30851
Diffstat (limited to 'src')
-rw-r--r--src/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsScreen.java21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsScreen.java b/src/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsScreen.java
index 34bc48f99..45146d33e 100644
--- a/src/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsScreen.java
+++ b/src/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsScreen.java
@@ -56,9 +56,14 @@ public class X11GraphicsScreen extends DefaultGraphicsScreen implements Cloneabl
/** Creates a new X11GraphicsScreen using a thread local display connection */
public static AbstractGraphicsScreen createDefault() {
- long display = X11Util.getThreadLocalDefaultDisplay();
- int scrnIdx = X11Lib.DefaultScreen(display);
- return createScreenDevice(display, scrnIdx);
+ NativeWindowFactory.getDefaultFactory().getToolkitLock().lock();
+ try {
+ long display = X11Util.getThreadLocalDefaultDisplay();
+ int scrnIdx = X11Lib.DefaultScreen(display);
+ return createScreenDevice(display, scrnIdx);
+ } finally {
+ NativeWindowFactory.getDefaultFactory().getToolkitLock().unlock();
+ }
}
public long getDefaultVisualID() {
@@ -74,8 +79,14 @@ public class X11GraphicsScreen extends DefaultGraphicsScreen implements Cloneabl
}
private static int fetchScreen(X11GraphicsDevice device, int screen) {
- if(!X11Lib.XineramaEnabled(device.getHandle())) {
- return screen;
+ // It still could be an AWT hold handle ..
+ NativeWindowFactory.getDefaultFactory().getToolkitLock().lock();
+ try {
+ if(!X11Lib.XineramaEnabled(device.getHandle())) {
+ return screen;
+ }
+ } finally {
+ NativeWindowFactory.getDefaultFactory().getToolkitLock().unlock();
}
return 0;
}