[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#390646: xserver-xorg: Server crash when switching back from full screen mode



Here's a slight tweak to that last patch.

Alan.
diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
diff --git a/hw/xfree86/common/xf86Cursor.c b/hw/xfree86/common/xf86Cursor.c
index 61f0ce5..8bb12ae 100644
--- a/hw/xfree86/common/xf86Cursor.c
+++ b/hw/xfree86/common/xf86Cursor.c
@@ -213,6 +213,7 @@ xf86SwitchMode(ScreenPtr pScreen, Displa
   ScreenPtr   pCursorScreen;
   Bool        Switched;
   int         px, py;
+  int         sigstate;
 
   if (!pScr->vtSema || !mode || !pScr->SwitchMode)
     return FALSE;
@@ -232,6 +233,7 @@ #endif
   if (pScreen == pCursorScreen)
     miPointerPosition(&px, &py);
 
+  sigstate = xf86BlockSIGIO ();
   xf86EnterServerState(SETUP);
   Switched = (*pScr->SwitchMode)(pScr->scrnIndex, mode, 0);
   xf86EnterServerState(OPERATING);
@@ -269,6 +271,7 @@ #endif
       pScr->frameY1 = pScr->virtualY - 1;
     }
   }
+  xf86UnblockSIGIO (sigstate);
 
   if (pScr->AdjustFrame)
     (*pScr->AdjustFrame)(pScr->scrnIndex, pScr->frameX0, pScr->frameY0, 0);
diff --git a/hw/xfree86/dri/dri.c b/hw/xfree86/dri/dri.c
diff --git a/hw/xfree86/os-support/xf86drm.h b/hw/xfree86/os-support/xf86drm.h

Reply to: