diff options
author | Kristian Høgsberg <[email protected]> | 2010-07-23 22:05:21 -0400 |
---|---|---|
committer | Kristian Høgsberg <[email protected]> | 2010-07-23 22:05:53 -0400 |
commit | d77bb8e059ecfed9b714301fc31b093c6026c7bc (patch) | |
tree | bf201f09f5f253cb5adeea6e6df581bb9b89f251 /src/glx/glxcmds.c | |
parent | 6739d52fdced53a566188215d204ffef1e85a5e6 (diff) |
glx: Don't destroy context with XID 0
We use XID 0 to indicate the context has already been destroyed, but it's
currently bound.
Diffstat (limited to 'src/glx/glxcmds.c')
-rw-r--r-- | src/glx/glxcmds.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c index 1ded6247ef3..b92638c9c22 100644 --- a/src/glx/glxcmds.c +++ b/src/glx/glxcmds.c @@ -584,7 +584,7 @@ glx_send_destroy_context(Display *dpy, XID xid) static void indirect_destroy_context(__GLXcontext *gc) { - if (!gc->imported) + if (!gc->imported && gc->xid) glx_send_destroy_context(gc->psc->dpy, gc->xid); __glXFreeVertexArrayState(gc); @@ -619,6 +619,8 @@ DestroyContext(Display * dpy, GLXContext gc) * Note that we set gc->xid = None above. In MakeContextCurrent() * we check for that and delete the context there. */ + if (!gc->imported) + glx_send_destroy_context(dpy, gc->xid); gc->xid = None; __glXUnlock(); return; |