aboutsummaryrefslogtreecommitdiffstats
path: root/src/newt/classes
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2011-06-12 02:55:29 +0200
committerSven Gothel <[email protected]>2011-06-12 02:55:29 +0200
commitbd1c8685d10a82108f959aae5a2f39b5570446be (patch)
tree9167079f2a4852115618c62d4282013b8769d64b /src/newt/classes
parentfec792f54c29ea86a39330f1a2adb816003443a6 (diff)
X11/Newt Locking: Clarify dependency of XInitThreads() hack
Diffstat (limited to 'src/newt/classes')
-rw-r--r--src/newt/classes/jogamp/newt/x11/X11Display.java11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/newt/classes/jogamp/newt/x11/X11Display.java b/src/newt/classes/jogamp/newt/x11/X11Display.java
index d4a83abe0..815395e2d 100644
--- a/src/newt/classes/jogamp/newt/x11/X11Display.java
+++ b/src/newt/classes/jogamp/newt/x11/X11Display.java
@@ -75,9 +75,14 @@ public class X11Display extends DisplayImpl {
X11Util.closeDisplay(handle);
throw e;
}
- aDevice = new X11GraphicsDevice(handle, AbstractGraphicsDevice.DEFAULT_UNIT, NativeWindowFactory.getNullToolkitLock());
- // aDevice = new X11GraphicsDevice(handle, AbstractGraphicsDevice.DEFAULT_UNIT, NativeWindowFactory.createDefaultToolkitLockNoAWT(NativeWindowFactory.TYPE_X11, handle));
- // aDevice = new X11GraphicsDevice(handle, AbstractGraphicsDevice.DEFAULT_UNIT);
+
+ if(X11Util.XINITTHREADS_ALWAYS_ENABLED) {
+ // Hack: Force non X11Display locking, even w/ AWT and w/o isFirstUIActionOnProcess()
+ aDevice = new X11GraphicsDevice(handle, AbstractGraphicsDevice.DEFAULT_UNIT, NativeWindowFactory.getNullToolkitLock());
+ } else {
+ // Proper: Use AWT/X11Display locking w/ AWT and X11Display locking only w/o isFirstUIActionOnProcess()
+ aDevice = new X11GraphicsDevice(handle, AbstractGraphicsDevice.DEFAULT_UNIT);
+ }
}
protected void closeNativeImpl() {