summaryrefslogtreecommitdiff
path: root/mi/mipointer.c
diff options
context:
space:
mode:
authorPeter Hutterer <peter@cs.unisa.edu.au>2008-02-05 18:34:31 +1030
committerPeter Hutterer <peter@cs.unisa.edu.au>2008-02-05 18:34:31 +1030
commit521a7f26e088029707fb9a2bb80c9ddc734a3f8b (patch)
tree80489c496b16ce243a0826abb5d9a691cec8dae7 /mi/mipointer.c
parent10617dc0fb7166ccd5b2e92fa708390c2d7d0d27 (diff)
mi: Only UpdateSpriteForScreen if we actually changed the screen. (Bug #12650)
X.Org Bug 12650 <http://bugs.freedesktop.org/show_bug.cgi?id=12650>
Diffstat (limited to 'mi/mipointer.c')
-rw-r--r--mi/mipointer.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/mi/mipointer.c b/mi/mipointer.c
index 2c3c68913..b55e68bf0 100644
--- a/mi/mipointer.c
+++ b/mi/mipointer.c
@@ -231,10 +231,14 @@ miPointerWarpCursor (pScreen, x, y)
ScreenPtr pScreen;
int x, y;
{
+ BOOL changedScreen = FALSE;
SetupScreen (pScreen);
if (miPointer.pScreen != pScreen)
+ {
(*pScreenPriv->screenFuncs->NewEventScreen) (pScreen, TRUE);
+ changedScreen = TRUE;
+ }
if (GenerateEvent)
{
@@ -255,7 +259,9 @@ miPointerWarpCursor (pScreen, x, y)
miPointer.y = y;
miPointer.pScreen = pScreen;
}
- UpdateSpriteForScreen (pScreen) ;
+
+ if (changedScreen)
+ UpdateSpriteForScreen (pScreen) ;
}
/*