summaryrefslogtreecommitdiff
authorPeter Hutterer <peter.hutterer@who-t.net>2009-02-02 00:20:13 (GMT)
committer Peter Hutterer <peter.hutterer@who-t.net>2009-02-03 23:01:27 (GMT)
commit9fe9b6e4ef669b192ee349e3290db5d2aeea273c (patch) (side-by-side diff)
tree9441b9340bab10f63f97280241bfadde4425eb7b
parentf80332a04d0714a74f16b2552cccf3457e6494af (diff)
downloadxserver-9fe9b6e4ef669b192ee349e3290db5d2aeea273c.zip
xserver-9fe9b6e4ef669b192ee349e3290db5d2aeea273c.tar.gz
mi: don't call UpdateSpriteForScreen if we have Xinerama enabled. #18668
In Xinerama all windows hang off the first root window. Crossing the screens must not reset the spriteTrace, otherwise picking fails and events are sent to the root window. X.Org Bug 18668 <http://bugs.freedesktop.org/show_bug.cgi?id=18668> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--mi/mipointer.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/mi/mipointer.c b/mi/mipointer.c
index d520281..e3a4656 100644
--- a/mi/mipointer.c
+++ b/mi/mipointer.c
@@ -332,7 +332,14 @@ miPointerWarpCursor (DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)
pPointer->pScreen = pScreen;
}
- if (changedScreen)
+ /* Don't call USFS if we use Xinerama, otherwise the root window is
+ * updated to the second screen, and we never receive any events.
+ * (FDO bug #18668) */
+ if (changedScreen
+#ifdef PANORAMIX
+ && noPanoramiXExtension
+#endif
+ )
UpdateSpriteForScreen (pDev, pScreen) ;
}