Xext: shm: fix missing ScreenClose hook registration

ShmScreenClose() needs to be registered as ScreenClose hook into
all screens - otherwise it won't be called and so we're missing
cleanup work.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
Enrico Weigelt, metux IT consult 2025-10-13 13:37:22 +02:00 committed by Enrico Weigelt
parent 214d0e67de
commit be69bc3aae

View File

@ -203,6 +203,7 @@ ShmScreenClose(CallbackListPtr *pcbl, ScreenPtr pScreen, void *unused)
dixSetPrivate(&pScreen->devPrivates, shmScrPrivateKey, NULL);
free(screen_priv);
dixScreenUnhookClose(pScreen, ShmScreenClose);
}
static ShmScrPrivateRec *
@ -1401,6 +1402,7 @@ ShmExtensionInit(void)
screen_priv->shmFuncs = &miFuncs;
if (!screen_priv->shmFuncs->CreatePixmap)
sharedPixmaps = xFalse;
dixScreenHookClose(walkScreen, ShmScreenClose);
});
if (sharedPixmaps)
DIX_FOR_EACH_SCREEN({