summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (from parent 1: c37847e)
raw | patch | inline | side by side (from parent 1: c37847e)
author | Chase Douglas <chase.douglas@ubuntu.com> | |
Sat, 5 May 2012 20:17:34 +0000 (13:17 -0700) | ||
committer | Xavier Boudet <x-boudet@ti.com> | |
Wed, 9 May 2012 07:20:08 +0000 (09:20 +0200) |
debian/changelog | patch | blob | history | |
debian/patches/508_device_off_release_buttons.patch | [new file with mode: 0644] | patch | blob |
debian/patches/series | patch | blob | history |
diff --git a/debian/changelog b/debian/changelog
index 58183750a3a7d1cd215e81ee676629efe2d4cbc1..bc906d22872b7521843a4bf7fd5df2535dc4858e 100644 (file)
--- a/debian/changelog
+++ b/debian/changelog
+xorg-server (2:1.11.4-0ubuntu10.2) precise-proposed; urgency=low
+
+ * Release buttons when device is disabled on suspend (LP: #968845)
+ - Add temporary patch 508_device_off_release_buttons.patch from upstream
+
+ -- Chase Douglas <chase.douglas@ubuntu.com> Sat, 05 May 2012 13:17:34 -0700
+
xorg-server (2:1.11.4-0ubuntu10.1) precise-proposed; urgency=low
[ Bryce Harrington ]
diff --git a/debian/patches/508_device_off_release_buttons.patch b/debian/patches/508_device_off_release_buttons.patch
--- /dev/null
@@ -0,0 +1,37 @@
+From adaf1adecf5697455e9f3fb0234939113873f959 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon, 30 Apr 2012 10:01:48 +1000
+Subject: [PATCH] dix: when disabling a device, release all buttons and keys
+
+A suspend-induced device disable may happen before the device gets to see
+the button release event. On resume, the server's internal state still has
+some buttons pressed, causing inconsistent behaviour.
+
+Force the release and the matching events to be sent to the client.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+Conflicts:
+
+ dix/devices.c
+---
+ dix/devices.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/dix/devices.c b/dix/devices.c
+index 9624424..b325d17 100644
+--- a/dix/devices.c
++++ b/dix/devices.c
+@@ -447,6 +447,8 @@ DisableDevice(DeviceIntPtr dev, BOOL sendevent)
+ if (*prev != dev)
+ return FALSE;
+
++ ReleaseButtonsAndKeys(dev);
++
+ /* float attached devices */
+ if (IsMaster(dev))
+ {
+--
+1.7.9.1
+
diff --git a/debian/patches/series b/debian/patches/series
index f17f72626e52b41cfb7442fbbffb99ad8ac07f6f..1b863e7ccfa108fc4f45b4760946cebb26a3829d 100644 (file)
--- a/debian/patches/series
+++ b/debian/patches/series
505_query_pointer_touchscreen.patch
506_touchscreen_pointer_emulation_checks.patch
507_touchscreen_fixes.patch
+508_device_off_release_buttons.patch