diff options
author | Brian Paul <[email protected]> | 2005-11-29 23:01:43 +0000 |
---|---|---|
committer | Brian Paul <[email protected]> | 2005-11-29 23:01:43 +0000 |
commit | 96f216565e09032021bafa7a805aa7707777fda1 (patch) | |
tree | a6de9f15184ceb91033e60376dc7d41eb058823c /src/mesa/drivers/dri/common/dri_util.c | |
parent | 2d8eb9eaf3f39ce001609c39e155ac8ad44605f3 (diff) |
assorted fixes for server-side direct rendering (bug 5199)
Diffstat (limited to 'src/mesa/drivers/dri/common/dri_util.c')
-rw-r--r-- | src/mesa/drivers/dri/common/dri_util.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c index 421f24ccb1c..d7640759dee 100644 --- a/src/mesa/drivers/dri/common/dri_util.c +++ b/src/mesa/drivers/dri/common/dri_util.c @@ -133,9 +133,8 @@ static void __driGarbageCollectDrawables(void *drawHash) __DRIdrawablePrivate *pdp = (__DRIdrawablePrivate *)pdraw->private; dpy = pdp->driScreenPriv->display; if (! (*dri_interface->windowExists)(dpy, draw)) { - /* Destroy the local drawable data in the hash table, if the - drawable no longer exists in the Xserver */ - drmHashDelete(drawHash, draw); + /* Destroy the local drawable data, if the drawable no + longer exists in the Xserver */ (*pdraw->destroyDrawable)(dpy, pdraw->private); _mesa_free(pdraw); } @@ -667,6 +666,7 @@ driDestroyDrawable(__DRInativeDisplay *dpy, void *drawablePrivate) (*psp->DriverAPI.DestroyBuffer)(pdp); if ((*dri_interface->windowExists)(dpy, pdp->draw)) (void)(*dri_interface->destroyDrawable)(dpy, scrn, pdp->draw); + drmHashDelete(psp->drawHash, pdp->draw); if (pdp->pClipRects) { _mesa_free(pdp->pClipRects); pdp->pClipRects = NULL; |