miext: use dixDestroyPixmap() instead of direct driver call

Direct calls to ScreenRec->DestroyPixmap() blocks cleaning up the wrapping
jungle, so use the proper dix function instead.

See: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1754

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1711>
This commit is contained in:
Enrico Weigelt, metux IT consult 2024-09-30 17:55:50 +02:00
parent 7a0f8301c5
commit 372a510ef0

View File

@ -103,8 +103,7 @@ shadowCloseScreen(ScreenPtr pScreen)
unwrap(pBuf, pScreen, BlockHandler); unwrap(pBuf, pScreen, BlockHandler);
shadowRemove(pScreen, pBuf->pPixmap); shadowRemove(pScreen, pBuf->pPixmap);
DamageDestroy(pBuf->pDamage); DamageDestroy(pBuf->pDamage);
if (pBuf->pPixmap) dixDestroyPixmap(pBuf->pPixmap, 0);
pScreen->DestroyPixmap(pBuf->pPixmap);
free(pBuf); free(pBuf);
return pScreen->CloseScreen(pScreen); return pScreen->CloseScreen(pScreen);
} }