mirror of
https://github.com/X11Libre/xf86-video-r128.git
synced 2026-03-24 01:24:26 +00:00
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/driver/xf86-video-r128/-/merge_requests/15>
This commit is contained in:
committed by
Marge Bot
parent
6228d9a88c
commit
bc21fcdffa
@@ -324,11 +324,11 @@ R128Done(PixmapPtr pPixmap)
|
||||
info->state_2d.in_use = FALSE;
|
||||
#if defined(R128DRI) && defined(RENDER)
|
||||
if (info->state_2d.src_pix) {
|
||||
pScreen->DestroyPixmap(info->state_2d.src_pix);
|
||||
dixDestroyPixmap(info->state_2d.src_pix, 0);
|
||||
info->state_2d.src_pix = NULL;
|
||||
}
|
||||
if (info->state_2d.msk_pix) {
|
||||
pScreen->DestroyPixmap(info->state_2d.msk_pix);
|
||||
dixDestroyPixmap(info->state_2d.msk_pix, 0);
|
||||
info->state_2d.msk_pix = NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -108,7 +108,7 @@ R128SolidPixmap(ScreenPtr pScreen, uint32_t solid)
|
||||
|
||||
exaMoveInPixmap(pPix);
|
||||
if (!exaDrawableIsOffscreen(&pPix->drawable)) {
|
||||
pScreen->DestroyPixmap(pPix);
|
||||
dixDestroyPixmap(pPix, 0);
|
||||
return NULL;
|
||||
}
|
||||
info->ExaDriver->WaitMarker(pScreen, 0);
|
||||
@@ -459,7 +459,7 @@ R128CCEPrepareComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture,
|
||||
pMask = R128SolidPixmap(pScreen, cpu_to_le32(pMaskPicture->pSourcePict->solidFill.color));
|
||||
if (!pMask) {
|
||||
if (!pSrcPicture->pDrawable)
|
||||
pScreen->DestroyPixmap(pSrc);
|
||||
dixDestroyPixmap(pSrc, 0);
|
||||
info->state_2d.has_mask = FALSE;
|
||||
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
|
||||
"Failed to create "
|
||||
|
||||
Reference in New Issue
Block a user