From cf948b7b04dfeb61a294889027b9a54f6b9b478e Mon Sep 17 00:00:00 2001 From: Alan Hourihane Date: Fri, 13 Oct 2006 14:48:10 +0100 Subject: [PATCH] Block IO on switchmode just as we do for VT switching to avoid cursor movements signalling io. --- hw/xfree86/common/xf86Cursor.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/xfree86/common/xf86Cursor.c b/hw/xfree86/common/xf86Cursor.c index 61f0ce55e..8bb12ae33 100644 --- a/hw/xfree86/common/xf86Cursor.c +++ b/hw/xfree86/common/xf86Cursor.c @@ -213,6 +213,7 @@ xf86SwitchMode(ScreenPtr pScreen, DisplayModePtr mode) ScreenPtr pCursorScreen; Bool Switched; int px, py; + int sigstate; if (!pScr->vtSema || !mode || !pScr->SwitchMode) return FALSE; @@ -232,6 +233,7 @@ xf86SwitchMode(ScreenPtr pScreen, DisplayModePtr mode) if (pScreen == pCursorScreen) miPointerPosition(&px, &py); + sigstate = xf86BlockSIGIO (); xf86EnterServerState(SETUP); Switched = (*pScr->SwitchMode)(pScr->scrnIndex, mode, 0); xf86EnterServerState(OPERATING); @@ -269,6 +271,7 @@ xf86SwitchMode(ScreenPtr pScreen, DisplayModePtr mode) pScr->frameY1 = pScr->virtualY - 1; } } + xf86UnblockSIGIO (sigstate); if (pScr->AdjustFrame) (*pScr->AdjustFrame)(pScr->scrnIndex, pScr->frameX0, pScr->frameY0, 0);