Revert "mi: use dixDestroyPixmap() instead of direct driver call"

This reverts commit 4628254698.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2020>
This commit is contained in:
Alan Coopersmith 2025-06-11 17:44:28 -07:00 committed by Marge Bot
parent 918a343710
commit 6f4ad392bd
5 changed files with 18 additions and 16 deletions

View File

@ -1112,7 +1112,7 @@ miWideArc(DrawablePtr pDraw, GCPtr pGC, int narcs, xArc * parcs)
out: out:
if (fTricky) { if (fTricky) {
dixDestroyPixmap((PixmapPtr) pDrawTo, 0); (*pGCTo->pScreen->DestroyPixmap) ((PixmapPtr) pDrawTo);
FreeScratchGC(pGCTo); FreeScratchGC(pGCTo);
} }
} }

View File

@ -119,11 +119,12 @@ miDCSwitchScreenCursor(ScreenPtr pScreen, CursorPtr pCursor, PixmapPtr sourceBit
{ {
miDCScreenPtr pScreenPriv = dixLookupPrivate(&pScreen->devPrivates, miDCScreenKey); miDCScreenPtr pScreenPriv = dixLookupPrivate(&pScreen->devPrivates, miDCScreenKey);
dixDestroyPixmap(pScreenPriv->sourceBits, 0); if (pScreenPriv->sourceBits)
(*pScreen->DestroyPixmap)(pScreenPriv->sourceBits);
pScreenPriv->sourceBits = sourceBits; pScreenPriv->sourceBits = sourceBits;
if (pScreenPriv->maskBits) if (pScreenPriv->maskBits)
dixDestroyPixmap(pScreenPriv->maskBits, 0); (*pScreen->DestroyPixmap)(pScreenPriv->maskBits);
pScreenPriv->maskBits = maskBits; pScreenPriv->maskBits = maskBits;
if (pScreenPriv->pPicture) if (pScreenPriv->pPicture)
@ -202,7 +203,7 @@ miDCRealize(ScreenPtr pScreen, CursorPtr pCursor)
pGC = GetScratchGC(32, pScreen); pGC = GetScratchGC(32, pScreen);
if (!pGC) { if (!pGC) {
dixDestroyPixmap(pPixmap, 0); (*pScreen->DestroyPixmap) (pPixmap);
return FALSE; return FALSE;
} }
ValidateGC(&pPixmap->drawable, pGC); ValidateGC(&pPixmap->drawable, pGC);
@ -213,7 +214,7 @@ miDCRealize(ScreenPtr pScreen, CursorPtr pCursor)
FreeScratchGC(pGC); FreeScratchGC(pGC);
pPicture = CreatePicture(0, &pPixmap->drawable, pPicture = CreatePicture(0, &pPixmap->drawable,
pFormat, 0, 0, serverClient, &error); pFormat, 0, 0, serverClient, &error);
dixDestroyPixmap(pPixmap, 0); (*pScreen->DestroyPixmap) (pPixmap);
if (!pPicture) if (!pPicture)
return FALSE; return FALSE;
@ -229,7 +230,7 @@ miDCRealize(ScreenPtr pScreen, CursorPtr pCursor)
maskBits = (*pScreen->CreatePixmap) (pScreen, pCursor->bits->width, maskBits = (*pScreen->CreatePixmap) (pScreen, pCursor->bits->width,
pCursor->bits->height, 1, 0); pCursor->bits->height, 1, 0);
if (!maskBits) { if (!maskBits) {
dixDestroyPixmap(sourceBits, 0); (*pScreen->DestroyPixmap) (sourceBits);
return FALSE; return FALSE;
} }
@ -237,8 +238,8 @@ miDCRealize(ScreenPtr pScreen, CursorPtr pCursor)
pGC = GetScratchGC(1, pScreen); pGC = GetScratchGC(1, pScreen);
if (!pGC) { if (!pGC) {
dixDestroyPixmap(sourceBits, 0); (*pScreen->DestroyPixmap) (sourceBits);
dixDestroyPixmap(maskBits, 0); (*pScreen->DestroyPixmap) (maskBits);
return FALSE; return FALSE;
} }
@ -394,7 +395,8 @@ miDCSaveUnderCursor(DeviceIntPtr pDev, ScreenPtr pScreen,
pSave = pBuffer->pSave; pSave = pBuffer->pSave;
pWin = pScreen->root; pWin = pScreen->root;
if (!pSave || pSave->drawable.width < w || pSave->drawable.height < h) { if (!pSave || pSave->drawable.width < w || pSave->drawable.height < h) {
dixDestroyPixmap(pSave, 0); if (pSave)
(*pScreen->DestroyPixmap) (pSave);
pBuffer->pSave = pSave = pBuffer->pSave = pSave =
(*pScreen->CreatePixmap) (pScreen, w, h, pScreen->rootDepth, 0); (*pScreen->CreatePixmap) (pScreen, w, h, pScreen->rootDepth, 0);
if (!pSave) if (!pSave)
@ -511,7 +513,8 @@ miDCDeviceCleanup(DeviceIntPtr pDev, ScreenPtr pScreen)
* is freed when that root window is destroyed, so don't * is freed when that root window is destroyed, so don't
* free it again here. */ * free it again here. */
dixDestroyPixmap(pBuffer->pSave, 0); if (pBuffer->pSave)
(*pScreen->DestroyPixmap) (pBuffer->pSave);
free(pBuffer); free(pBuffer);
dixSetScreenPrivate(&pDev->devPrivates, miDCDeviceKey, pScreen, dixSetScreenPrivate(&pDev->devPrivates, miDCDeviceKey, pScreen,

View File

@ -63,7 +63,7 @@ miChangeClip(GCPtr pGC, int type, void *pvalue, int nrects)
if (type == CT_PIXMAP) { if (type == CT_PIXMAP) {
/* convert the pixmap to a region */ /* convert the pixmap to a region */
pGC->clientClip = BitmapToRegion(pGC->pScreen, (PixmapPtr) pvalue); pGC->clientClip = BitmapToRegion(pGC->pScreen, (PixmapPtr) pvalue);
dixDestroyPixmap(pvalue, 0); (*pGC->pScreen->DestroyPixmap) (pvalue);
} }
else if (type == CT_REGION) { else if (type == CT_REGION) {
/* stuff the region in the GC */ /* stuff the region in the GC */

View File

@ -118,7 +118,7 @@ miPolyGlyphBlt(DrawablePtr pDrawable, GC * pGC, int x, int y, unsigned int nglyp
pGCtmp = GetScratchGC(1, pDrawable->pScreen); pGCtmp = GetScratchGC(1, pDrawable->pScreen);
if (!pGCtmp) { if (!pGCtmp) {
dixDestroyPixmap(pPixmap, 0); (*pDrawable->pScreen->DestroyPixmap) (pPixmap);
return; return;
} }
@ -132,7 +132,7 @@ miPolyGlyphBlt(DrawablePtr pDrawable, GC * pGC, int x, int y, unsigned int nglyp
nbyLine = BitmapBytePad(width); nbyLine = BitmapBytePad(width);
pbits = xallocarray(height, nbyLine); pbits = xallocarray(height, nbyLine);
if (!pbits) { if (!pbits) {
dixDestroyPixmap(pPixmap, 0); (*pDrawable->pScreen->DestroyPixmap) (pPixmap);
FreeScratchGC(pGCtmp); FreeScratchGC(pGCtmp);
return; return;
} }
@ -174,7 +174,7 @@ miPolyGlyphBlt(DrawablePtr pDrawable, GC * pGC, int x, int y, unsigned int nglyp
} }
x += pci->metrics.characterWidth; x += pci->metrics.characterWidth;
} }
dixDestroyPixmap(pPixmap, 0); (*pDrawable->pScreen->DestroyPixmap) (pPixmap);
free(pbits); free(pbits);
FreeScratchGC(pGCtmp); FreeScratchGC(pGCtmp);
} }

View File

@ -125,8 +125,7 @@ miModifyPixmapHeader(PixmapPtr pPixmap, int width, int height, int depth,
static Bool static Bool
miCloseScreen(ScreenPtr pScreen) miCloseScreen(ScreenPtr pScreen)
{ {
dixDestroyPixmap((PixmapPtr) pScreen->devPrivate, 0); return ((*pScreen->DestroyPixmap) ((PixmapPtr) pScreen->devPrivate));
return TRUE;
} }
static Bool static Bool