aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/jogamp
diff options
context:
space:
mode:
Diffstat (limited to 'src/jogl/classes/jogamp')
-rw-r--r--src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java b/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java
index ec1230894..ab4924516 100644
--- a/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java
+++ b/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java
@@ -206,9 +206,13 @@ public class X11GLXContext extends GLContextImpl {
@Override
protected void destroyContextARBImpl(final long ctx) {
final long display = drawable.getNativeSurface().getDisplayHandle();
-
- glXReleaseContext(display);
- GLX.glXDestroyContext(display, ctx);
+ if( 0 != display ) {
+ glXReleaseContext(display);
+ GLX.glXDestroyContext(display, ctx);
+ } else {
+ final AbstractGraphicsDevice adev = drawable.getNativeSurface().getGraphicsConfiguration().getScreen().getDevice();
+ throw new GLException("null display handle from device "+adev);
+ }
}
private static final int ctx_arb_attribs_idx_major = 0;
private static final int ctx_arb_attribs_idx_minor = 2;