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>
This commit is contained in:
parent
276d8057aa
commit
53653f4889
|
@ -139,8 +139,8 @@ DrawableGone(__GLXdrawable * glxPriv, XID xid)
|
||||||
next = c->next;
|
next = c->next;
|
||||||
if (c->currentClient &&
|
if (c->currentClient &&
|
||||||
(c->drawPriv == glxPriv || c->readPriv == glxPriv)) {
|
(c->drawPriv == glxPriv || c->readPriv == glxPriv)) {
|
||||||
|
/* just force a re-bind the next time through */
|
||||||
(*c->loseCurrent) (c);
|
(*c->loseCurrent) (c);
|
||||||
c->currentClient = NULL;
|
|
||||||
if (c == __glXLastContext)
|
if (c == __glXLastContext)
|
||||||
__glXFlushContextCache();
|
__glXFlushContextCache();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue