From 53653f4889dcaea0cf67f8a4180af71eeb4b2f6b Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Mon, 5 Aug 2013 15:46:11 -0400 Subject: [PATCH] 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 Signed-off-by: Adam Jackson --- glx/glxext.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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(); }