diff --git a/mi/mipointer.c b/mi/mipointer.c index 8dc7c7f5f..eabc43563 100644 --- a/mi/mipointer.c +++ b/mi/mipointer.c @@ -399,7 +399,7 @@ miPointerUpdateSprite (DeviceIntPtr pDev) int x, y, devx, devy; miPointerPtr pPointer; - if (!pDev || pDev == inputInfo.pointer || !pDev->coreEvents) + if (!pDev || !pDev->coreEvents) return; pPointer = MIPOINTER(pDev); @@ -530,7 +530,7 @@ miPointerMoved (DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y, SetupScreen(pScreen); - if (pDev && (pDev->coreEvents || pDev == inputInfo.pointer) + if (pDev && pDev->coreEvents && !pScreenPriv->waitForUpdate && pScreen == pPointer->pSpriteScreen) { pPointer->devx = x; @@ -557,7 +557,7 @@ miPointerSetPosition(DeviceIntPtr pDev, int *x, int *y, unsigned long time) if (!pScreen) return; /* called before ready */ - if (!pDev || !(pDev->coreEvents || pDev == inputInfo.pointer)) + if (!pDev || !pDev->coreEvents) return; if (*x < 0 || *x >= pScreen->width || *y < 0 || *y >= pScreen->height)