summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2013-09-02 09:11:50 +0200
committerSven Gothel <[email protected]>2013-09-02 09:11:50 +0200
commit4beef4fe856690b070ba06a6caf4515aebd7171b (patch)
tree468d549855b1a2175d9455f3641acacec8628be5 /src
parent32171ee45370a9c6dacb582c39d51d0ff17911f1 (diff)
X11GLXDrawableFactory.Shutdown: Disable shared context destruction since it may lead to a JVM freeze ..
.. on ATI fglrx driver 32bit on 64bit w/ a frozen shared GL context involved. Hence we have to rely on the driver cleanup when JVM hits 'exit', equal to the Windows implementation.
Diffstat (limited to 'src')
-rw-r--r--src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java4
-rw-r--r--src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextListNEWT2.java6
2 files changed, 5 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 91beddb02..04e0fa60d 100644
--- a/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java
+++ b/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java
@@ -336,8 +336,8 @@ public class X11GLXDrawableFactory extends GLDrawableFactoryImpl {
}
if (null != sr.context) {
- // may cause JVM SIGSEGV:
- sr.context.destroy(); // will also pull the dummy MutableSurface
+ // may cause JVM SIGSEGV, or freeze (ATI fglrx 32on64 shared ctx):
+ // sr.context.destroy(); // will also pull the dummy MutableSurface
sr.context = null;
}
diff --git a/src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextListNEWT2.java b/src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextListNEWT2.java
index 0d1f58c1e..967c94ec6 100644
--- a/src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextListNEWT2.java
+++ b/src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextListNEWT2.java
@@ -136,9 +136,9 @@ public class TestSharedContextListNEWT2 extends UITestCase {
f2.destroy();
f3.destroy();
- f1.getAnimator().stop();
- f2.getAnimator().stop();
- f3.getAnimator().stop();
+ // f1.getAnimator().stop();
+ // f2.getAnimator().stop();
+ // f3.getAnimator().stop();
releaseShared();
}