From 5866e08bdff712afed19a206a58f872e0f88c827 Mon Sep 17 00:00:00 2001
From: Sven Gothel
+ * It is observed that ATI X11 drivers, eg.
+ *
+ *
* are quite sensitive to multiple Display connections.
- * Here, closing displays shall happen in the same order as
- * they were opened, -OR- shall not be closed at all!
- * Otherwise some driver related bug appears and brings down the JVM.
+ *
+ * With the above drivers closing displays shall happen in the same order as + * they were opened, or shall not be closed at all! + * If closed, some driver related bug appears and brings down the JVM. + *
+ ** You may test this, ie just reverse the destroy order below. * See also native test: jogl/test/native/displayMultiple02.c - * - * Our current 'workaround' is to not close them at all if driver vendor is ATI. + *
+ *+ * Workaround is to not close them at all if driver vendor is ATI. + *
*/ public static final boolean ATI_HAS_XCLOSEDISPLAY_BUG = true; + // public static final boolean HAS_XLOCKDISPLAY_BUG = false; + private static final boolean DEBUG = Debug.debug("X11Util"); private static final boolean TRACE_DISPLAY_LIFECYCLE = Debug.getBooleanProperty("nativewindow.debug.X11Util.TraceDisplayLifecycle", true, AccessController.getContext()); @@ -84,13 +97,13 @@ public class X11Util { if(!isInit) { NWJNILibLoader.loadNativeWindow("x11"); - isX11LockAvailable = initialize0( firstX11ActionOnProcess ); + isX11LockAvailable = initialize0( firstX11ActionOnProcess ) /* && !HAS_XLOCKDISPLAY_BUG */ ; if(DEBUG) { System.err.println("X11Util firstX11ActionOnProcess: "+firstX11ActionOnProcess+ ", requiresX11Lock "+requiresX11Lock+ ", isX11LockAvailable "+isX11LockAvailable); - Thread.dumpStack(); + // Thread.dumpStack(); } isInit = true; } -- cgit v1.2.3