xf86-input-evdev: Changes to 'master'

Peter Hutterer whot at kemper.freedesktop.org
Tue May 6 16:08:27 PDT 2014


 src/evdev.c |   72 ++++++++++--------------------------------------------------
 1 file changed, 12 insertions(+), 60 deletions(-)

New commits:
commit 13dea90bc8ef2a2e6f55fb5ff5f54afe41d22f95
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Tue May 6 09:20:05 2014 +1000

    Use the server's device list for duplicate detection (#78309)
    
    EvdevAddDevice/EvdevRemoveDevice keep a reference to the device to detect
    duplicate devices based on the dev_t.
    
    EvdevAddDevices was called during PreInit, EvdevRemoveDevice was called during
    DEVICE_CLOSE. That makes it imbalanced if the device succeeds PreInit but the
    server skips everything else because MAX_DEVICES is exceeded. So for all
    devices after MAX_DEVICES, we'd add a reference but never remove it,
    eventually reading/writing past evdev_devices.
    
    The server keeps the list of devices for us anyway, so remove the copy of all
    the pointers and instead run through the device list the server gives us.
    
    X.Org Bug 78309 <http://bugs.freedesktop.org/show_bug.cgi?id=78309>
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Hans de Goede <hdegoede at redhat.com>



More information about the xorg-commit mailing list