xlib: add null ctx check in glXDestroyContext()
authorBrian Paul <brianp@vmware.com>
Fri, 24 May 2013 14:06:19 +0000 (08:06 -0600)
committerBrian Paul <brianp@vmware.com>
Fri, 24 May 2013 22:35:25 +0000 (16:35 -0600)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=64934
NOTE: This is a candidate for the stable branches.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/mesa/drivers/x11/fakeglx.c

index c7fb327db719c276ee28aa3e06a01033331b2fa4..031c3057547086814ab0c7d913edb07e64248878 100644 (file)
@@ -1533,16 +1533,18 @@ void _kw_ungrab_all( Display *dpy )
 static void
 Fake_glXDestroyContext( Display *dpy, GLXContext ctx )
 {
-   struct fake_glx_context *glxCtx = (struct fake_glx_context *) ctx;
-   (void) dpy;
-   MakeCurrent_PrevContext = 0;
-   MakeCurrent_PrevDrawable = 0;
-   MakeCurrent_PrevReadable = 0;
-   MakeCurrent_PrevDrawBuffer = 0;
-   MakeCurrent_PrevReadBuffer = 0;
-   XMesaDestroyContext( glxCtx->xmesaContext );
-   XMesaGarbageCollect(dpy);
-   free(glxCtx);
+   if (ctx) {
+      struct fake_glx_context *glxCtx = (struct fake_glx_context *) ctx;
+      (void) dpy;
+      MakeCurrent_PrevContext = 0;
+      MakeCurrent_PrevDrawable = 0;
+      MakeCurrent_PrevReadable = 0;
+      MakeCurrent_PrevDrawBuffer = 0;
+      MakeCurrent_PrevReadBuffer = 0;
+      XMesaDestroyContext( glxCtx->xmesaContext );
+      XMesaGarbageCollect(dpy);
+      free(glxCtx);
+   }
 }