--- mi/mipointer.c.orig 2008-10-17 15:46:26.000000000 +0200 +++ mi/mipointer.c 2008-10-17 15:47:11.000000000 +0200 @@ -252,7 +252,7 @@ miPointerWarpCursor (pScreen, x, y) { miPointer.devx = x; miPointer.devy = y; - if(!miPointer.pCursor->bits->emptyMask) + if(miPointer.pCursor && !miPointer.pCursor->bits->emptyMask) (*pScreenPriv->spriteFuncs->MoveCursor) (pScreen, x, y); } miPointer.x = x; @@ -345,7 +345,7 @@ miPointerUpdateSprite (DeviceIntPtr pDev { miPointer.devx = x; miPointer.devy = y; - if(!miPointer.pCursor->bits->emptyMask) + if(miPointer.pCursor && !miPointer.pCursor->bits->emptyMask) (*pScreenPriv->spriteFuncs->MoveCursor) (pScreen, x, y); } } @@ -416,7 +416,7 @@ miPointerMoved (DeviceIntPtr pDev, Scree { miPointer.devx = x; miPointer.devy = y; - if(!miPointer.pCursor->bits->emptyMask) + if(miPointer.pCursor && !miPointer.pCursor->bits->emptyMask) (*pScreenPriv->spriteFuncs->MoveCursor) (pScreen, x, y); }