assorted fixes for server-side direct rendering (bug 5199)
This commit is contained in:
@@ -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;
|
||||
|
Reference in New Issue
Block a user