diff options
author | Sven Gothel <[email protected]> | 2011-11-26 08:24:56 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2011-11-26 08:24:56 +0100 |
commit | 26e6aac665d0fede32c322b66d90e82a622624ac (patch) | |
tree | 9d83021273fc3cdfb27359478833522356d21f2c /src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java | |
parent | 6c1aa039afc4b81eeacdc97993cd7c7b2efc6ea4 (diff) |
SharedResourceRunner: Use generics ; X11GLXDrawableFactory.SharedRunnable shutdown: don't attempt to close Display device.
Diffstat (limited to 'src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java')
-rw-r--r-- | src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java b/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java index 5dfbffeaf..acaf1a599 100644 --- a/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java +++ b/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java @@ -119,7 +119,7 @@ public class X11GLXDrawableFactory extends GLDrawableFactoryImpl { SharedResourceImplementation sharedResourceImpl; SharedResourceRunner sharedResourceRunner; Thread sharedResourceThread; - HashMap<String /* connection */, SharedResourceRunner.Resource> sharedMap = new HashMap<String, SharedResourceRunner.Resource>(); + HashMap<String /* connection */, SharedResourceRunner.Resource> sharedMap = new HashMap<String, SharedResourceRunner.Resource>(); static class SharedResource implements SharedResourceRunner.Resource { X11GraphicsDevice device; @@ -188,7 +188,9 @@ public class X11GLXDrawableFactory extends GLDrawableFactoryImpl { public SharedResourceRunner.Resource createSharedResource(String connection) { X11GraphicsDevice sharedDevice = new X11GraphicsDevice(X11Util.openDisplay(connection), AbstractGraphicsDevice.DEFAULT_UNIT, - NativeWindowFactory.getNullToolkitLock(), true); // own non-shared display connection, no locking + true); // own non-shared display connection, no locking + // new X11GraphicsDevice(X11Util.openDisplay(connection), AbstractGraphicsDevice.DEFAULT_UNIT, + // NativeWindowFactory.getNullToolkitLock(), true); // own non-shared display connection, no locking sharedDevice.lock(); try { GLXUtil.initGLXClientDataSingleton(sharedDevice); @@ -253,12 +255,14 @@ public class X11GLXDrawableFactory extends GLDrawableFactoryImpl { } if (null != sr.context) { - // may cause JVM SIGSEGV: sharedContext.destroy(); + // may cause JVM SIGSEGV: + // sr.context.makeCurrent(); + // sr.context.destroy(); sr.context = null; } if (null != sr.drawable) { - // may cause JVM SIGSEGV: sharedDrawable.destroy(); + // may cause JVM SIGSEGV: sr.drawable.destroy(); sr.drawable = null; } @@ -267,7 +271,7 @@ public class X11GLXDrawableFactory extends GLDrawableFactoryImpl { } if (null != sr.device) { - sr.device.close(); + // may cause JVM SIGSEGV: sr.device.close(); sr.device = null; } } |