xserver: Branch 'master' - 2 commits

Keith Packard keithp at kemper.freedesktop.org
Tue Nov 10 18:33:46 PST 2009


 dix/devices.c                  |    2 +-
 hw/xfree86/common/xf86Events.c |    5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

New commits:
commit b5aa2e0a5fe233dc883084a5026013472e85bca4
Author: Chase Douglas <chasedouglas at gmail.com>
Date:   Mon Nov 9 22:54:39 2009 -0500

    Move FD_CLR above pInfo->read_input
    
    The event fd may be invalidated by the pInfo->read_input call. If it is
    invalidated, the subsequent FD_CLR call will segfault. Thus, the FD_CLR
    call must precede the pInfo->read_input call.
    
    Signed-off-by: Chase Douglas <chasedouglas at gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c
index 9487fe7..8cd765a 100644
--- a/hw/xfree86/common/xf86Events.c
+++ b/hw/xfree86/common/xf86Events.c
@@ -263,13 +263,14 @@ xf86Wakeup(pointer blockData, int err, pointer pReadmask)
 		    (FD_ISSET(pInfo->fd, &devicesWithInput) != 0)) {
 		    int sigstate = xf86BlockSIGIO();
 
-		    pInfo->read_input(pInfo);
-		    xf86UnblockSIGIO(sigstate);
 		    /*
 		     * Remove the descriptior from the set because more than one
 		     * device may share the same file descriptor.
 		     */
 		    FD_CLR(pInfo->fd, &devicesWithInput);
+
+		    pInfo->read_input(pInfo);
+		    xf86UnblockSIGIO(sigstate);
 		}
 		pInfo = pInfo->next;
 	    }
commit 982f6648fd29d085265bf6035c1bf4d1b2499316
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Tue Nov 10 09:50:50 2009 +1000

    dix: increase default number of buttons to 10.
    
    Currently the XTEST device is limited to the same number of buttons the core
    device has. This breaks if a user has a mouse with more than 3 buttons
    connected and is using a core client to fake button 8+ presses.
    
    Rather than expecting all clients to fix themselves, just increase the
    default number of buttons to 10, which is somewhat a compromise. Ideally,
    the XTEST devices should adjust themselves to the highest number of buttons
    available on the slave devices (like the master pointers already do), but
    that's a taks for another day.
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/dix/devices.c b/dix/devices.c
index 7486827..395e19a 100644
--- a/dix/devices.c
+++ b/dix/devices.c
@@ -539,7 +539,7 @@ CoreKeyboardProc(DeviceIntPtr pDev, int what)
 int
 CorePointerProc(DeviceIntPtr pDev, int what)
 {
-#define NBUTTONS 7
+#define NBUTTONS 10
 #define NAXES 2
     BYTE map[NBUTTONS + 1];
     int i = 0;


More information about the xorg-commit mailing list