diff options
author | Peter Hutterer <peter@cs.unisa.edu.au> | 2008-02-05 18:34:31 +1030 |
---|---|---|
committer | Peter Hutterer <peter@cs.unisa.edu.au> | 2008-02-05 18:34:31 +1030 |
commit | 521a7f26e088029707fb9a2bb80c9ddc734a3f8b (patch) | |
tree | 80489c496b16ce243a0826abb5d9a691cec8dae7 /mi/mipointer.c | |
parent | 10617dc0fb7166ccd5b2e92fa708390c2d7d0d27 (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.c | 8 |
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) ; } /* |