debian/changelog | 28 +++++++++ debian/local/evoluent-verticalmouse3.fdi | 16 +++++ debian/patches/100_mbemu_nullptr.patch | 30 ++++++++++ debian/patches/lp343528-fd23048-EvdevMBEmuBlockHandler.patch | 32 +++++++++++ debian/patches/series | 2 debian/rules | 1 6 files changed, 109 insertions(+)
New commits: commit b08a0f37bb815019da96ce7daaab3e9482947fb4 Author: Bryce Harrington <br...@bryceharrington.org> Date: Wed Oct 14 20:35:53 2009 -0700 Add fdi file for Evoluent mouse diff --git a/debian/changelog b/debian/changelog index 8272605..d5a2da0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,12 @@ -xserver-xorg-input-evdev (1:2.2.5-1ubuntu2) karmic; urgency=low +xserver-xorg-input-evdev (1:2.2.5-1ubuntu4) karmic; urgency=low + + * local/evoluent-verticalmouse3.fdi, rules: Add support for Kingsis + Evoluent VerticalMouse 3. + (LP: #451729) + + -- Bryce Harrington <br...@ubuntu.com> Wed, 14 Oct 2009 20:21:50 -0700 + +xserver-xorg-input-evdev (1:2.2.5-1ubuntu3) karmic; urgency=low * Apply upstream patch from fd.org bug 23048 (LP: #343528) Finalize the middle button emulation when a read error occurs (#23048) diff --git a/debian/local/evoluent-verticalmouse3.fdi b/debian/local/evoluent-verticalmouse3.fdi new file mode 100644 index 0000000..5fa68fe --- /dev/null +++ b/debian/local/evoluent-verticalmouse3.fdi @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- Source: http://daniel.hahler.de/evoluent-verticalmouse3-hal-fdi --> +<deviceinfo version="0.2"> + <device> + <match key="info.capabilities" contains="input.mouse"> + <match key="input.product" string="Kingsis Peripherals Evoluent VerticalMouse 3"> + <merge key="input.x11_driver" type="string">evdev</merge> + <merge key="input.x11_options.Emulate3Buttons" type="string">no</merge> + <merge key="input.x11_options.EmulateWheelButton" type="string">0</merge> + <merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge> + <merge key="input.x11_options.ButtonMapping" type="string">1 2 2 4 5 6 7 3 8</merge> + </match> + </match> + </device> +</deviceinfo> + diff --git a/debian/rules b/debian/rules index 6d0dd3e..d8d5c17 100755 --- a/debian/rules +++ b/debian/rules @@ -82,6 +82,7 @@ binary-arch: build install serverabi dh_install --sourcedir=debian/tmp --list-missing --exclude=evdev_drv.la --exclude=usr/share/man/man4 # install -d debian/xserver-xorg-input-evdev/usr/share/hal/fdi/policy/20thirdparty # install -m 644 debian/local/10-x11-evdev.fdi debian/xserver-xorg-input-evdev/usr/share/hal/fdi/policy/20thirdparty/ + install -m 644 debian/local/evoluent-verticalmouse3.fdi debian/xserver-xorg-input-evdev/usr/share/hal/fdi/policy/20thirdparty/ dh_installman dh_link dh_strip commit 43f851020ceb8599e6d2d85ce965321a55fe89d8 Author: Bryce Harrington <br...@bryceharrington.org> Date: Mon Oct 12 11:10:52 2009 -0700 Cherrypick from upstream to fix crash on resume following a device read error diff --git a/debian/changelog b/debian/changelog index 58480b5..8272605 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,16 @@ +xserver-xorg-input-evdev (1:2.2.5-1ubuntu2) karmic; urgency=low + + * Apply upstream patch from fd.org bug 23048 (LP: #343528) + Finalize the middle button emulation when a read error occurs (#23048) + + If a read error occurs, remove the block and wakeup handlers for middle + mouse button emulation. Otherwise, they'll still be around after the device + has been reopened and overwritten with the new ones created by EvdevOn. + Once this happened, future removal of the device can lead to a server + crash. + + -- Matt Zimmerman <m...@ubuntu.com> Sun, 11 Oct 2009 09:47:44 +0100 + xserver-xorg-input-evdev (1:2.2.2-1ubuntu2) karmic; urgency=low * Add 100_mbemu_nullptr.patch: Null pointer checks for MBEmu*(). diff --git a/debian/patches/100_mbemu_nullptr.patch b/debian/patches/100_mbemu_nullptr.patch index 8e4883b..b30e7f4 100644 --- a/debian/patches/100_mbemu_nullptr.patch +++ b/debian/patches/100_mbemu_nullptr.patch @@ -1,12 +1,12 @@ diff -Nurp xserver-xorg-input-evdev-2.2.2/src/emuMB.c xserver-xorg-input-evdev-2.2.2-working/src/emuMB.c --- xserver-xorg-input-evdev-2.2.2/src/emuMB.c 2009-03-22 23:35:13.000000000 -0700 -+++ xserver-xorg-input-evdev-2.2.2-working/src/emuMB.c 2009-07-30 13:47:51.000000000 -0700 ++++ xserver-xorg-input-evdev-2.2.2-working/src/emuMB.c 2009-07-30 14:30:19.000000000 -0700 @@ -280,7 +280,7 @@ void EvdevMBEmuWakeupHandler(pointer dat EvdevPtr pEvdev = (EvdevPtr)pInfo->private; int ms; - if (pEvdev->emulateMB.pending) -+ if (pEvDev && pEvdev->emulateMB.pending) ++ if (pEvdev && pEvdev->emulateMB.pending) { ms = pEvdev->emulateMB.expires - GetTimeInMillis(); if (ms <= 0) diff --git a/debian/patches/lp343528-fd23048-EvdevMBEmuBlockHandler.patch b/debian/patches/lp343528-fd23048-EvdevMBEmuBlockHandler.patch new file mode 100644 index 0000000..536bf70 --- /dev/null +++ b/debian/patches/lp343528-fd23048-EvdevMBEmuBlockHandler.patch @@ -0,0 +1,32 @@ +From 8dc2501caf5887063626d43602c214e1cdc75d81 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer <peter.hutte...@who-t.net> +Date: Tue, 6 Oct 2009 19:09:33 +1000 +Subject: [PATCH] Finalize the middle button emulation when a read error occurs (#23048) + +If a read error occurs, remove the block and wakeup handlers for middle +mouse button emulation. Otherwise, they'll still be around after the device +has been reopened and overwritten with the new ones created by EvdevOn. Once +this happened, future removal of the device can lead to a server crash. + +X.Org Bug 23048 <http://bugs.freedesktop.org/show_bug.cgi?id=23048> + +Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> +--- + src/evdev.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/src/evdev.c b/src/evdev.c +index da44450..1524a07 100644 +--- a/src/evdev.c ++++ b/src/evdev.c +@@ -768,6 +768,7 @@ EvdevReadInput(InputInfoPtr pInfo) + { + if (errno == ENODEV) /* May happen after resume */ + { ++ EvdevMBEmuFinalize(pInfo); + xf86RemoveEnabledDevice(pInfo); + close(pInfo->fd); + pInfo->fd = -1; +-- +1.6.3.rc1.2.g0164.dirty + diff --git a/debian/patches/series b/debian/patches/series index da93c8f..abad258 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ 100_mbemu_nullptr.patch +lp343528-fd23048-EvdevMBEmuBlockHandler.patch commit 5ce79f15e1f51967150ac4562476137255c324c5 Author: Bryce Harrington <br...@bryceharrington.org> Date: Thu Jul 30 14:24:56 2009 -0700 Adding patch to catch null pointer errors in the MBEmu code. diff --git a/debian/changelog b/debian/changelog index b712a4d..58480b5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +xserver-xorg-input-evdev (1:2.2.2-1ubuntu2) karmic; urgency=low + + * Add 100_mbemu_nullptr.patch: Null pointer checks for MBEmu*(). + (LP: #343528) + + -- Bryce Harrington <br...@ubuntu.com> Thu, 30 Jul 2009 13:53:48 -0700 + xserver-xorg-input-evdev (1:2.2.2-1ubuntu1) karmic; urgency=low * Merge from Debian unstable, remaining changes: diff --git a/debian/patches/100_mbemu_nullptr.patch b/debian/patches/100_mbemu_nullptr.patch new file mode 100644 index 0000000..8e4883b --- /dev/null +++ b/debian/patches/100_mbemu_nullptr.patch @@ -0,0 +1,30 @@ +diff -Nurp xserver-xorg-input-evdev-2.2.2/src/emuMB.c xserver-xorg-input-evdev-2.2.2-working/src/emuMB.c +--- xserver-xorg-input-evdev-2.2.2/src/emuMB.c 2009-03-22 23:35:13.000000000 -0700 ++++ xserver-xorg-input-evdev-2.2.2-working/src/emuMB.c 2009-07-30 13:47:51.000000000 -0700 +@@ -280,7 +280,7 @@ void EvdevMBEmuWakeupHandler(pointer dat + EvdevPtr pEvdev = (EvdevPtr)pInfo->private; + int ms; + +- if (pEvdev->emulateMB.pending) ++ if (pEvDev && pEvdev->emulateMB.pending) + { + ms = pEvdev->emulateMB.expires - GetTimeInMillis(); + if (ms <= 0) +@@ -296,7 +296,7 @@ void EvdevMBEmuBlockHandler(pointer data + EvdevPtr pEvdev= (EvdevPtr) pInfo->private; + int ms; + +- if (pEvdev->emulateMB.pending) ++ if (pEvdev && pEvdev->emulateMB.pending) + { + ms = pEvdev->emulateMB.expires - GetTimeInMillis (); + if (ms <= 0) +@@ -346,7 +346,7 @@ void + EvdevMBEmuEnable(InputInfoPtr pInfo, BOOL enable) + { + EvdevPtr pEvdev = (EvdevPtr)pInfo->private; +- if (pEvdev->emulateMB.enabled == MBEMU_AUTO) ++ if (pEvdev && pEvdev->emulateMB.enabled == MBEMU_AUTO) + pEvdev->emulateMB.enabled = enable; + } + diff --git a/debian/patches/series b/debian/patches/series index e69de29..da93c8f 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -0,0 +1 @@ +100_mbemu_nullptr.patch -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org