summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKristian Høgsberg <[email protected]>2010-09-21 09:56:05 -0400
committerKristian Høgsberg <[email protected]>2010-09-23 07:40:27 -0400
commitcdb3f23d8a259fa0b042656e3c96ebb4d0936d2f (patch)
tree3f205e8e33aa34fa7335010f0208b68e4dd7dd43 /src
parent8f4c99a9af876494cb9a0f4e804a7b0ba7f1db90 (diff)
glx: Hold on to drawables if we're just switching to another context
https://bugs.freedesktop.org/show_bug.cgi?id=30234
Diffstat (limited to 'src')
-rw-r--r--src/glx/dri2_glx.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c
index 8247588e76b..911298b37c8 100644
--- a/src/glx/dri2_glx.c
+++ b/src/glx/dri2_glx.c
@@ -118,6 +118,8 @@ dri2_destroy_context(struct glx_context *context)
struct dri2_context *pcp = (struct dri2_context *) context;
struct dri2_screen *psc = (struct dri2_screen *) context->psc;
+ driReleaseDrawables(&pcp->base);
+
if (context->xid)
glx_send_destroy_context(psc->base.dpy, context->xid);
@@ -158,7 +160,8 @@ dri2_unbind_context(struct glx_context *context, struct glx_context *new)
(*psc->core->unbindContext) (pcp->driContext);
- driReleaseDrawables(&pcp->base);
+ if (context == new)
+ driReleaseDrawables(&pcp->base);
}
static struct glx_context *