xserver: Branch 'server-1.7-nominations'

Peter Hutterer whot at kemper.freedesktop.org
Thu Feb 18 18:16:58 PST 2010


 dix/getevents.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

New commits:
commit dd0217fc93c1d374d7d51f1b0270e7575fd48320
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Tue Jan 5 13:15:25 2010 +1000

    dix: don't update the slave coordinates from the VCK.
    
    A keyboard event from a device with both valuators and keys will be posted
    through the VCK. In this case, do not update the slave device coordinates
    from the VCK - they're always 0/0. Leave them as-is, for the next pointer
    event will continue where it left.
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>
    (cherry picked from commit 6f265d55a61f9be323583b8acacae783be72bda9)
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/dix/getevents.c b/dix/getevents.c
index 18c6302..82bb77b 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -630,9 +630,12 @@ updateFromMaster(EventListPtr events, DeviceIntPtr dev, int type, int *num_event
     if (master && master->last.slave != dev)
     {
         CreateClassesChangedEvent(events, master, dev, type);
-        updateSlaveDeviceCoords(master, dev);
+        if (IsPointerDevice(master))
+        {
+            updateSlaveDeviceCoords(master, dev);
+            master->last.numValuators = dev->last.numValuators;
+        }
         master->last.slave = dev;
-        master->last.numValuators = dev->last.numValuators;
         (*num_events)++;
         events++;
     }


More information about the xorg-commit mailing list