--- i830_driver.c.old 2006-06-29 18:11:10.000000000 +0200 +++ i830_driver.c 2006-06-30 20:43:41.000000000 +0200 @@ -4562,7 +4562,13 @@ /* So that if we close on the wrong config, we restore correctly */ pI830->specifiedMonitor = TRUE; - + { + /* Turn Cursor off before switching */ + Bool on = pI830->cursorOn; + if (pI830->CursorInfoRec && pI830->CursorInfoRec->HideCursor) + pI830->CursorInfoRec->HideCursor(pScrn); + pI830->cursorOn = on; + } if (!xf86IsEntityShared(pScrn->entityList[0])) { if ((temp & 0xFF00) && (temp & 0x00FF)) { pI830->Clone = TRUE; @@ -4573,14 +4579,6 @@ } } - { - /* Turn Cursor off before switching */ - Bool on = pI830->cursorOn; - if (pI830->CursorInfoRec && pI830->CursorInfoRec->HideCursor) - pI830->CursorInfoRec->HideCursor(pScrn); - pI830->cursorOn = on; - } - #if 0 /* Disable -- I'll need to look at this whole function later. */ /* double check the display devices are what's configured and try * not to do it twice because of dual heads with the code above */