diff --git a/glx/glxcmds.c b/glx/glxcmds.c index 1b9ad6d14..8b2170306 100644 --- a/glx/glxcmds.c +++ b/glx/glxcmds.c @@ -662,11 +662,12 @@ xorgGlxMakeCurrent(ClientPtr client, GLXContextTag tag, XID drawId, XID readId, glxc->readPriv = NULL; return __glXError(GLXBadContext); } - - glxc->currentClient = client; - glxServer.setContextTagPrivate(client, newContextTag, glxc); } + glxServer.setContextTagPrivate(client, newContextTag, glxc); + if (glxc) + glxc->currentClient = client; + if (prevglxc) { prevglxc->currentClient = NULL; if (!prevglxc->idExists) {