diff --git a/glx/glxcmds.c b/glx/glxcmds.c index 8d3fa9ff7..009fd9be0 100644 --- a/glx/glxcmds.c +++ b/glx/glxcmds.c @@ -413,7 +413,9 @@ __glXDisp_DestroyContext(__GLXclientState * cl, GLbyte * pc) &glxc, &err)) return err; - FreeResourceByType(req->context, __glXContextRes, FALSE); + glxc->idExists = GL_FALSE; + if (!glxc->currentClient) + FreeResourceByType(req->context, __glXContextRes, FALSE); return Success; }