xserver-xorg-input-evdev: Changes to 'ubuntu'
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 <bryce@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 <bryce@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 <bryce@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 <mdz@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.hutterer@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.hutterer@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 <bryce@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 <bryce@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
Reply to: