From 178e5e249748018a9dacc84b47b85f9d99ac2e4e Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Mon, 30 Sep 2024 17:39:12 +0200 Subject: [PATCH] (!1711) 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 --- Xext/saver.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Xext/saver.c b/Xext/saver.c index ec2727ef8..84a3a9363 100644 --- a/Xext/saver.c +++ b/Xext/saver.c @@ -275,13 +275,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); }