summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/glx/glxclient.h2
-rw-r--r--src/glx/glxcurrent.c2
-rw-r--r--src/glx/indirect_glx.c2
3 files changed, 4 insertions, 2 deletions
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;