diff options
Diffstat (limited to 'src/nativewindow')
-rw-r--r-- | src/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/JAWTUtil.java | 5 | ||||
-rw-r--r-- | src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java | 12 |
2 files changed, 14 insertions, 3 deletions
diff --git a/src/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/JAWTUtil.java b/src/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/JAWTUtil.java index ff62c9521..9f120e9ab 100644 --- a/src/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/JAWTUtil.java +++ b/src/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/JAWTUtil.java @@ -40,7 +40,6 @@ import com.jogamp.nativewindow.impl.*; import javax.media.nativewindow.*; -import com.jogamp.common.util.locks.RecursiveLock; import java.awt.GraphicsEnvironment; import java.lang.reflect.*; @@ -178,13 +177,13 @@ public class JAWTUtil { } public static void lockToolkit() throws NativeWindowException { - if(!isJava2DQueueFlusherThread() && !headlessMode) { + if(!headlessMode && !isJava2DQueueFlusherThread()) { awtLock(); } } public static void unlockToolkit() { - if(!isJava2DQueueFlusherThread() && !headlessMode) { + if(!headlessMode && !isJava2DQueueFlusherThread()) { awtUnlock(); } } diff --git a/src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java b/src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java index a269051b1..49b398b6f 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java +++ b/src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java @@ -323,6 +323,18 @@ public abstract class NativeWindowFactory { return NativeWindowFactoryImpl.getNullToolkitLock(); } + public static ToolkitLock createDefaultToolkitLockNoAWT(String type, long deviceHandle) { + if( TYPE_X11 == type ) { + if( 0== deviceHandle ) { + throw new RuntimeException("JAWTUtil.createDefaultToolkitLockNoAWT() called with NULL device but on X11"); + } + if( !isFirstUIActionOnProcess() ) { + return createX11ToolkitLock(deviceHandle); + } + } + return NativeWindowFactoryImpl.getNullToolkitLock(); + } + protected static ToolkitLock createX11AWTToolkitLock(long deviceHandle) { try { return (ToolkitLock) x11JAWTToolkitLockConstructor.newInstance(new Object[]{new Long(deviceHandle)}); |