From f485ee724d1f1bb57a5c8931f28e7a45ceb5b5d5 Mon Sep 17 00:00:00 2001 From: Kristian Høgsberg Date: Thu, 29 Jul 2010 18:44:26 -0400 Subject: glx: Compare old ctx against dummyCtx, not NULL https://bugs.freedesktop.org/show_bug.cgi?id=29302 --- src/glx/glxclient.h | 2 ++ src/glx/glxcurrent.c | 2 +- src/glx/indirect_glx.c | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src/glx') diff --git a/src/glx/glxclient.h b/src/glx/glxclient.h index 84e1742dcb..81c9a26669 100644 --- a/src/glx/glxclient.h +++ b/src/glx/glxclient.h @@ -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 * diff --git a/src/glx/glxcurrent.c b/src/glx/glxcurrent.c index 0eccc9f765..e2569974c2 100644 --- a/src/glx/glxcurrent.c +++ b/src/glx/glxcurrent.c @@ -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], diff --git a/src/glx/indirect_glx.c b/src/glx/indirect_glx.c index cbc3129a5b..f0598409cd 100644 --- a/src/glx/indirect_glx.c +++ b/src/glx/indirect_glx.c @@ -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; -- cgit v1.2.3