summaryrefslogtreecommitdiff
path: root/src/glx/dri_glx.c
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@bitplanet.net>2010-08-27 12:40:11 -0400
committerKristian Høgsberg <krh@bitplanet.net>2010-09-08 09:20:42 -0400
commit16887d042a917fa4773e4d853f50051b54e9948c (patch)
tree6e31237b62e2d49e5544a05a64d99a95015b1d39 /src/glx/dri_glx.c
parentb4bb6680200b5a898583392f4c831c02f41e63f7 (diff)
glx: Drop broken drawable garbage collection
Doesn't work for pixmaps, was looking up the GLX XID and was never thread safe. Instead, just destroy the client side structures when the drawable is no long current for a context.
Diffstat (limited to 'src/glx/dri_glx.c')
-rw-r--r--src/glx/dri_glx.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/glx/dri_glx.c b/src/glx/dri_glx.c
index 43a2aa495a7..42b263c6377 100644
--- a/src/glx/dri_glx.c
+++ b/src/glx/dri_glx.c
@@ -509,8 +509,6 @@ dri_destroy_context(struct glx_context * context)
if (context->extensions)
XFree((char *) context->extensions);
- GarbageCollectDRIDrawables(context->psc);
-
(*psc->core->destroyContext) (pcp->driContext);
XF86DRIDestroyContext(psc->base.dpy, psc->base.scr, pcp->hwContextID);
@@ -545,6 +543,8 @@ dri_unbind_context(struct glx_context *context, struct glx_context *new)
struct dri_screen *psc = (struct dri_screen *) pcp->base.psc;
(*psc->core->unbindContext) (pcp->driContext);
+
+ driReleaseDrawables(&pcp->base);
}
static const struct glx_context_vtable dri_context_vtable = {