From cf4028811cf346ba6070341adf5173642cf92e6b Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Feb 03 2009 23:36:39 +0000 Subject: * Wed Feb 04 2009 Peter Hutterer 1.5.99.902-2 - xserver-1.5.99.902-xinerama.patch: don't update the sprite root window in Xinerama setups (#473825) --- diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 7dee25d..6521f94 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -19,7 +19,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.5.99.902 -Release: 1%{?dist} +Release: 2%{?dist} URL: http://www.x.org License: MIT Group: User Interface/X @@ -77,6 +77,8 @@ Patch6004: xserver-1.5.99.3-dmx-xcalloc.patch Patch6007: xserver-1.5.99.3-broken-mtrr-header.patch Patch6008: xserver-1.5.99.3-fix-core-fonts.patch +# Pushed to master, should be in 1.6 +Patch6009: xserver-1.5.99.902-xinerama.patch %define moduledir %{_libdir}/xorg/modules %define drimoduledir %{_libdir}/dri @@ -494,6 +496,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Feb 04 2009 Peter Hutterer 1.5.99.902-2 +- xserver-1.5.99.902-xinerama.patch: don't update the sprite root window in + Xinerama setups (#473825) + * Tue Feb 03 2009 Peter Hutterer 1.5.99.902-1 - xserver 1.6. RC 2 diff --git a/xserver-1.5.99.902-xinerama.patch b/xserver-1.5.99.902-xinerama.patch new file mode 100644 index 0000000..94104d1 --- /dev/null +++ b/xserver-1.5.99.902-xinerama.patch @@ -0,0 +1,39 @@ +From d06c8a08a432c042748b055638eb7a2a1cc453ea 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 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 +