summaryrefslogtreecommitdiff
path: root/glx
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2013-08-05 15:46:11 -0400
committerAdam Jackson <ajax@redhat.com>2013-10-29 10:30:43 -0400
commit53653f4889dcaea0cf67f8a4180af71eeb4b2f6b (patch)
tree6eb8b484cae20771dca469f3ef91f0d0f6f2f38e /glx
parent276d8057aa7f6e36c9c874257a6383f416c5cedd (diff)
glx: Fix a corner case in DrawableGone
Losing the drawable does not change our notion of current client. Since the GL under us doesn't understand having a current context without current drawables (sigh), we do still need to loseCurrent so that we re-bind the context on the next request. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65030 Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
Diffstat (limited to 'glx')
-rw-r--r--glx/glxext.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/glx/glxext.c b/glx/glxext.c
index dcefecdac..c2c90d2d6 100644
--- a/glx/glxext.c
+++ b/glx/glxext.c
@@ -139,8 +139,8 @@ DrawableGone(__GLXdrawable * glxPriv, XID xid)
next = c->next;
if (c->currentClient &&
(c->drawPriv == glxPriv || c->readPriv == glxPriv)) {
+ /* just force a re-bind the next time through */
(*c->loseCurrent) (c);
- c->currentClient = NULL;
if (c == __glXLastContext)
__glXFlushContextCache();
}