diff options
author | Sven Gothel <[email protected]> | 2013-09-02 09:11:50 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2013-09-02 09:11:50 +0200 |
commit | 4beef4fe856690b070ba06a6caf4515aebd7171b (patch) | |
tree | 468d549855b1a2175d9455f3641acacec8628be5 /src | |
parent | 32171ee45370a9c6dacb582c39d51d0ff17911f1 (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.java | 4 | ||||
-rw-r--r-- | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextListNEWT2.java | 6 |
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(); } |