From 7ce19233bc1d9e3ba4f52de3470e4405730a293a Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Mon, 30 Sep 2024 17:39:12 +0200 Subject: [PATCH] Xext: saver: 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 Part-of: --- Xext/saver.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Xext/saver.c b/Xext/saver.c index 60b250fdd..a91bc0aed 100644 --- a/Xext/saver.c +++ b/Xext/saver.c @@ -277,13 +277,10 @@ setEventMask(ScreenPtr pScreen, ClientPtr client, unsigned long mask) static void FreeAttrs(ScreenSaverAttrPtr pAttr) { - PixmapPtr pPixmap; CursorPtr pCursor; - if ((pPixmap = pAttr->pBackgroundPixmap) != 0) - (*pPixmap->drawable.pScreen->DestroyPixmap) (pPixmap); - if ((pPixmap = pAttr->pBorderPixmap) != 0) - (*pPixmap->drawable.pScreen->DestroyPixmap) (pPixmap); + dixDestroyPixmap(pAttr->pBackgroundPixmap, 0); + dixDestroyPixmap(pAttr->pBorderPixmap, 0); if ((pCursor = pAttr->pCursor) != 0) FreeCursor(pCursor, (Cursor) 0); }