xserver: Branch 'master' - 2 commits

Peter Hutterer whot at kemper.freedesktop.org
Tue Feb 3 15:05:26 PST 2009


 dix/events.c   |    2 +-
 mi/mipointer.c |    9 ++++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

New commits:
commit 9fe9b6e4ef669b192ee349e3290db5d2aeea273c
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Mon Feb 2 10:20:13 2009 +1000

    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 at who-t.net>

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) ;
 }
 
commit f80332a04d0714a74f16b2552cccf3457e6494af
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Mon Feb 2 14:28:16 2009 +1000

    dix: for core events, pass the core filter into DeliverEventsToWindow
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/dix/events.c b/dix/events.c
index 0c8d198..2655312 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -3479,7 +3479,7 @@ DeliverFocusedEvent(DeviceIntPtr keybd, xEvent *xE, WindowPtr window, int count)
     {
         FixUpEventFromWindow(keybd, &core, focus, None, FALSE);
         deliveries = DeliverEventsToWindow(keybd, focus, &core, 1,
-                                           filters[keybd->id][xE->u.u.type],
+                                           filters[keybd->id][core.u.u.type],
                                            NullGrab, 0);
     }
 }


More information about the xorg-commit mailing list