mirror of
https://github.com/X11Libre/xserver.git
synced 2026-03-24 10:14:52 +00:00
mi: midispcur.c.: move miDCCloseScreen to post-hooks
This change is necessary to fix a segfault in intel driver at CloseScreen. sna_early_close_screen() releases the cursor using FreeCursor(), which needs miDCScreen private of pScreen. It has already been released by miDCCloseScreen(), which is a pre-hook, and segfault occurs. Hence it is necessary to move miDCCloseScreen() to post-hooks. Signed-off-by: Oleh Nykyforchyn <oleh.nyk@gmail.com>
This commit is contained in:
committed by
Enrico Weigelt
parent
5dc79405b5
commit
5d2315b6e6
@@ -102,7 +102,7 @@ miDCInitialize(ScreenPtr pScreen, miPointerScreenFuncPtr screenFuncs)
|
||||
if (!pScreenPriv)
|
||||
return FALSE;
|
||||
|
||||
dixScreenHookClose(pScreen, miDCCloseScreen);
|
||||
dixScreenHookPostClose(pScreen, miDCCloseScreen);
|
||||
dixSetPrivate(&pScreen->devPrivates, miDCScreenKey, pScreenPriv);
|
||||
|
||||
if (!miSpriteInitialize(pScreen, screenFuncs)) {
|
||||
@@ -135,7 +135,7 @@ miDCSwitchScreenCursor(ScreenPtr pScreen, CursorPtr pCursor, PixmapPtr sourceBit
|
||||
|
||||
static void miDCCloseScreen(CallbackListPtr *pcbl, ScreenPtr pScreen, void *unused)
|
||||
{
|
||||
dixScreenUnhookClose(pScreen, miDCCloseScreen);
|
||||
dixScreenUnhookPostClose(pScreen, miDCCloseScreen);
|
||||
|
||||
miDCScreenPtr pScreenPriv;
|
||||
pScreenPriv = (miDCScreenPtr) dixLookupPrivate(&pScreen->devPrivates,
|
||||
|
||||
Reference in New Issue
Block a user