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
Signed-off-by: Adam Jackson <[email protected]>
---
 glx/glxext.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/glx/glxext.c b/glx/glxext.c
index 534c791..75260a0 100644
--- a/glx/glxext.c
+++ b/glx/glxext.c
@@ -132,8 +132,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->drawPriv == glxPriv)
             c->drawPriv = NULL;
-- 
1.8.3.1

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to