File mesa-chromium-destroy-context-fix.diff of Package Mesa

commit 8dd0478345796148186088ef080dcd22531074e5
Author: David Reveman <davidr@novell.com>
Date:   Wed Apr 15 07:49:00 2009 -0400

    Set dummy dispatch when destroying current context.

diff --git a/src/glx/x11/dricr_glx.c b/src/glx/x11/dricr_glx.c
index 53c8fad..2d2f1df 100644
--- a/src/glx/x11/dricr_glx.c
+++ b/src/glx/x11/dricr_glx.c
@@ -477,6 +477,7 @@ driDestroyContext (__GLXDRIcontext    *context,
 		   __GLXscreenConfigs *psc,
 		   Display            *dpy)
 {
+    const GLXContext       currentGC = __glXGetCurrentContext ();
     __GLXDRIcontextPrivate *pcp = (__GLXDRIcontextPrivate *) context;
     __GLXDRIscreenPrivate  *psp = (__GLXDRIscreenPrivate *)
 	pcp->psc->driScreen;
@@ -497,6 +498,9 @@ driDestroyContext (__GLXDRIcontext    *context,
 	SyncHandle ();
     }
 
+    if (currentGC && currentGC->driContext == context)
+	_glapi_set_dispatch (NULL);
+
     Xfree (pcp);
 }
 
openSUSE Build Service is sponsored by