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.hutte...@who-t.net> --- Long standing bug affecting Xinerama users. After a WarpPointer request to a screen n+1 the pointer ends up sending events to the screen's root window. With Xinerama enabled, the mouse is still moving but cannot interact with apps anymore. Only by issuing another WarpPointer request onto screen 0 is the proper functionality restored. mi/mipointer.c | 9 ++++++++- 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) ; } -- 1.6.0.6 _______________________________________________ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg