diff options
author | Adam Jackson <ajax@redhat.com> | 2013-08-05 15:46:11 -0400 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2013-10-29 10:30:43 -0400 |
commit | 53653f4889dcaea0cf67f8a4180af71eeb4b2f6b (patch) | |
tree | 6eb8b484cae20771dca469f3ef91f0d0f6f2f38e /glx | |
parent | 276d8057aa7f6e36c9c874257a6383f416c5cedd (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.c | 2 |
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(); } |