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);
}