[PATCH 04/12] glx: Unconditionally clear lastGLContext on loseCurrent().
Eric Anholt
eric at anholt.net
Fri Apr 18 11:40:02 PDT 2014
This hook calls unbindContext in the DRI driver interface, which
unsets the dispatch table, regardless of whether the context argument
was the current one or not.
Signed-off-by: Eric Anholt <eric at anholt.net>
---
glx/glxext.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/glx/glxext.c b/glx/glxext.c
index 9855767..c0142fe 100644
--- a/glx/glxext.c
+++ b/glx/glxext.c
@@ -135,8 +135,7 @@ DrawableGone(__GLXdrawable * glxPriv, XID xid)
(c->drawPriv == glxPriv || c->readPriv == glxPriv)) {
/* just force a re-bind the next time through */
(*c->loseCurrent) (c);
- if (c == lastGLContext)
- lastGLContext = NULL;
+ lastGLContext = NULL;
}
if (c->drawPriv == glxPriv)
c->drawPriv = NULL;
@@ -290,6 +289,7 @@ glxClientCallback(CallbackListPtr *list, void *closure, void *data)
next = c->next;
if (c->currentClient == pClient) {
c->loseCurrent(c);
+ lastGLContext = NULL;
c->currentClient = NULL;
__glXFreeContext(c);
}
--
1.9.2
More information about the xorg-devel
mailing list