aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2011-11-26 08:24:56 +0100
committerSven Gothel <[email protected]>2011-11-26 08:24:56 +0100
commit26e6aac665d0fede32c322b66d90e82a622624ac (patch)
tree9d83021273fc3cdfb27359478833522356d21f2c /src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java
parent6c1aa039afc4b81eeacdc97993cd7c7b2efc6ea4 (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.java14
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;
}
}