diff options
author | Sven Gothel <[email protected]> | 2010-10-27 02:16:28 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2010-10-27 02:16:28 +0200 |
commit | aed479890410e10031d96077a72a4cbdd621e6aa (patch) | |
tree | 2a7809d0fefb5b0a161f9affb3364e0051d52c1e /src/nativewindow | |
parent | b62cc2479c49d2a9913a297bcd0375e2351f7cba (diff) |
Minor: fix imports, JAWTUtil: query headless 1st (faster), NativeWindowFactory added nonAWT ToolkitLock create method
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)}); |