glx: Compare old ctx against dummyCtx, not NULL
authorKristian Høgsberg <krh@bitplanet.net>
Thu, 29 Jul 2010 22:44:26 +0000 (18:44 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Thu, 29 Jul 2010 22:49:10 +0000 (18:49 -0400)
https://bugs.freedesktop.org/show_bug.cgi?id=29302

src/glx/glxclient.h
src/glx/glxcurrent.c
src/glx/indirect_glx.c

index 84e1742dcbf2a0ebcc9a6cd8abec67df33b798db..81c9a26669635a6f950a2f67d865babb7810cc1c 100644 (file)
@@ -774,6 +774,8 @@ GetGLXDRIDrawable(Display *dpy, GLXDrawable drawable);
 
 #endif
 
+extern struct glx_context dummyContext;
+
 extern struct glx_screen *
 indirect_create_screen(int screen, struct glx_display * priv);
 extern struct glx_context *
index 0eccc9f76586a2627c9084496806f17c456e8331..e2569974c2f7933693cbe31ed82b57c59ef169b2 100644 (file)
@@ -60,7 +60,7 @@ static GLubyte dummyBuffer[__GLX_BUFFER_LIMIT_SIZE];
 ** gl and glx entry points are designed to operate as nop's when using
 ** the dummy context structure.
 */
-static struct glx_context dummyContext = {
+struct glx_context dummyContext = {
    &dummyBuffer[0],
    &dummyBuffer[0],
    &dummyBuffer[0],
index cbc3129a5b979be86293da13aa3677c8062f9c2d..f0598409cd6c83a91774a7c47b3aab05cfff26c1 100644 (file)
@@ -137,7 +137,7 @@ indirect_bind_context(struct glx_context *gc, struct glx_context *old,
    Display *dpy = gc->psc->dpy;
    int opcode = __glXSetupForCommand(dpy);
 
-   if (old && !old->isDirect && old->psc->dpy == dpy)
+   if (old != &dummyContext && !old->isDirect && old->psc->dpy == dpy)
       tag = old->currentContextTag;
    else
       tag = None;