[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-input-evdev: Changes to 'upstream-experimental'



 configure.ac |    2 +-
 src/evdev.c  |   18 +++++++++++-------
 2 files changed, 12 insertions(+), 8 deletions(-)

New commits:
commit ef607b6cce8e1feb6632c6bc1e7f322095ce54d9
Author: Julien Cristau <jcristau@debian.org>
Date:   Mon Aug 4 09:16:53 2008 +0930

    Actually close the fd on DEVICE_CLOSE (bug#16948)
    
    Fixes file descriptor leak.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit d9097df01b01afaf946fa04fca8ae8ab7108ff21)

diff --git a/src/evdev.c b/src/evdev.c
index 45b0e5d..164346a 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -864,6 +864,7 @@ EvdevProc(DeviceIntPtr device, int what)
 
     case DEVICE_CLOSE:
 	xf86Msg(X_INFO, "%s: Close\n", pInfo->name);
+	close(pInfo->fd);
 	break;
     }
 

commit 906a5d6add75d3bf3077d0542352534256b734d4
Author: Julien Cristau <jcristau@debian.org>
Date:   Wed Jul 30 10:40:47 2008 +0200

    Print the device name when we get a read error
    (cherry picked from commit 5c074af5a9abba138023e3bc6954d1062f7c36dd)

diff --git a/src/evdev.c b/src/evdev.c
index 0cd016a..45b0e5d 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -162,7 +162,7 @@ EvdevReadInput(InputInfoPtr pInfo)
         if (len != sizeof ev) {
             /* The kernel promises that we always only read a complete
              * event, so len != sizeof ev is an error. */
-            xf86Msg(X_ERROR, "Read error: %s\n", strerror(errno));
+            xf86Msg(X_ERROR, "%s: Read error: %s\n", pInfo->name, strerror(errno));
             break;
         }
 

commit 5152d616cab6912a45e09c37c0330064d2f412f2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 1 17:29:24 2008 +0930

    evdev 2.0.3

diff --git a/configure.ac b/configure.ac
index c9a58c8..251c431 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-input-evdev],
-        2.0.2,
+        2.0.3,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-input-evdev)
 

commit 2e9a71df5f8e8cdcdb80eec9e17501a75d5bd669
Author: Michel Dänzer <michel@tungstengraphics.com>
Date:   Tue Jul 29 10:06:07 2008 +0200

    xf86-input-evdev: Fix EVIOCGBIT ioctl usage on big endian platforms.
    
    With this fix, on my PowerBook HAL hotplugging correctly detects my USB mouse,
    and no longer thinks keyboards have random numbers of mouse buttons. :)
    
    The LONG_BITS and NBITS macro definitions are stolen from xf86-input-synaptics.
    
    Signed-off-by: Michel Dänzer <michel@tungstengraphics.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    [cherry-picked from master and fixed the trivial conflict -- jcristau]

diff --git a/src/evdev.c b/src/evdev.c
index f9c6fde..0cd016a 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -306,7 +306,9 @@ EvdevReadInput(InputInfoPtr pInfo)
     }
 }
 
-#define TestBit(bit, array) (array[(bit) / 8] & (1 << ((bit) % 8)))
+#define LONG_BITS (sizeof(long) * 8)
+#define NBITS(x) (((x) + LONG_BITS - 1) / LONG_BITS)
+#define TestBit(bit, array) (array[(bit) / LONG_BITS]) & (1 << ((bit) % LONG_BITS))
 
 static void
 EvdevPtrCtrlProc(DeviceIntPtr device, PtrCtrl *ctrl)
@@ -895,9 +897,9 @@ EvdevConvert(InputInfoPtr pInfo, int first, int num, int v0, int v1, int v2,
 static int
 EvdevProbe(InputInfoPtr pInfo)
 {
-    char key_bitmask[(KEY_MAX + 7) / 8];
-    char rel_bitmask[(REL_MAX + 7) / 8];
-    char abs_bitmask[(ABS_MAX + 7) / 8];
+    long key_bitmask[NBITS(KEY_MAX)];
+    long rel_bitmask[NBITS(REL_MAX)];
+    long abs_bitmask[NBITS(ABS_MAX)];
     int i, has_axes, has_buttons, has_keys;
     EvdevPtr pEvdev = pInfo->private;
 

commit 49de32e70f833628554342ef4225a4174158b412
Author: Julien Cristau <jcristau@debian.org>
Date:   Sun Jul 20 11:33:37 2008 +0200

    Fill up the version info
    
    Report correct versions instead of
    "compiled for 0.0.0, module version = 1.0.0"
    (cherry picked from commit 2b7edaa4ab88e192d7285d39b4834d1e535b94d0)

diff --git a/src/evdev.c b/src/evdev.c
index 471bb51..f9c6fde 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -42,6 +42,7 @@
 #include <xf86Xinput.h>
 #include <exevents.h>
 #include <mipointer.h>
+#include <xorgVersion.h>
 
 #include "evdev.h"
 
@@ -1101,8 +1102,8 @@ static XF86ModuleVersionInfo EvdevVersionRec =
     MODULEVENDORSTRING,
     MODINFOSTRING1,
     MODINFOSTRING2,
-    0, /* Missing from SDK: XORG_VERSION_CURRENT, */
-    1, 0, 0,
+    XORG_VERSION_CURRENT,
+    PACKAGE_VERSION_MAJOR, PACKAGE_VERSION_MINOR, PACKAGE_VERSION_PATCHLEVEL,
     ABI_CLASS_XINPUT,
     ABI_XINPUT_VERSION,
     MOD_CLASS_XINPUT,


Reply to: