diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-02-02 10:20:13 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-02-04 09:01:27 +1000 |
commit | 9fe9b6e4ef669b192ee349e3290db5d2aeea273c (patch) | |
tree | 9441b9340bab10f63f97280241bfadde4425eb7b /mi/mipointer.c | |
parent | f80332a04d0714a74f16b2552cccf3457e6494af (diff) |
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 (limited to 'mi/mipointer.c')
-rw-r--r-- | mi/mipointer.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/mi/mipointer.c b/mi/mipointer.c index d5202810a..e3a465615 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) ; } |