[PATCH 3/4] glx: Fix a corner case in DrawableGone

Adam Jackson ajax at redhat.com
Wed Oct 2 14:51:25 PDT 2013


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 <ajax at redhat.com>
---
 glx/glxext.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/glx/glxext.c b/glx/glxext.c
index ff2ceae..bdddc68 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



More information about the xorg-devel mailing list