From 9fe9b6e4ef669b192ee349e3290db5d2aeea273c Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 2 Feb 2009 10:20:13 +1000 Subject: [PATCH] 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 Signed-off-by: Peter Hutterer --- mi/mipointer.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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) ; }