xorg-server: Changes to 'ubuntu'
debian/changelog | 7 ++
debian/patches/218_revert-release-all-buttons.diff | 71 +++++++++++++++++++++
debian/patches/series | 1
3 files changed, 79 insertions(+)
New commits:
commit 827e0c33c9307404a7fd71f7ae0a89bb11ca6b9a
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Fri Apr 15 23:42:35 2011 +0300
Add 218_revert-release-all-buttons.diff
from server-1.10-branch, which reverts the commit that broke XI2 SD
button grabs. (LP: #757972)
diff --git a/debian/changelog b/debian/changelog
index 58af41b..01bbd42 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xorg-server (2:1.10.0.902-1ubuntu2) UNRELEASED; urgency=low
+
+ * Add 218_revert-release-all-buttons.diff from server-1.10-branch, which
+ reverts the commit that broke XI2 SD button grabs. (LP: #757972)
+
+ -- Timo Aaltonen <tjaalton@ubuntu.com> Fri, 15 Apr 2011 23:37:34 +0300
+
xorg-server (2:1.10.0.902-1ubuntu1) natty; urgency=low
* Merge from Debian experimental.
diff --git a/debian/patches/218_revert-release-all-buttons.diff b/debian/patches/218_revert-release-all-buttons.diff
new file mode 100644
index 0000000..a43d658
--- /dev/null
+++ b/debian/patches/218_revert-release-all-buttons.diff
@@ -0,0 +1,71 @@
+commit 55f85d6cc28d737314f12958aac49d61b9476657
+Author: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Thu Apr 14 15:24:07 2011 -0700
+
+ Revert "dix: release all buttons and keys before reattaching a device (#34182)"
+
+ This patch introduced a regression, reverting for the 1.10.1 release. See
+ https://bugs.freedesktop.org/show_bug.cgi?id=36146
+
+ This reverts commit 81fbb96c54f78a7cd96433294ee003c7ef6a772a.
+
+diff --git a/dix/devices.c b/dix/devices.c
+index 84284e7..55f22cb 100644
+--- a/dix/devices.c
++++ b/dix/devices.c
+@@ -2380,46 +2380,6 @@ RecalculateMasterButtons(DeviceIntPtr slave)
+ }
+
+ /**
+- * Generate release events for all keys/button currently down on this
+- * device.
+- */
+-static void
+-ReleaseButtonsAndKeys(DeviceIntPtr dev)
+-{
+- EventListPtr eventlist = InitEventList(GetMaximumEventsNum());
+- ButtonClassPtr b = dev->button;
+- KeyClassPtr k = dev->key;
+- int i, j, nevents;
+-
+- if (!eventlist) /* no release events for you */
+- return;
+-
+- /* Release all buttons */
+- for (i = 0; b && i < b->numButtons; i++)
+- {
+- if (BitIsOn(b->down, i))
+- {
+- nevents = GetPointerEvents(eventlist, dev, ButtonRelease, i, 0, NULL);
+- for (j = 0; j < nevents; j++)
+- mieqProcessDeviceEvent(dev, (InternalEvent*)(eventlist+j)->event, NULL);
+- }
+- }
+-
+- /* Release all keys */
+- for (i = 0; k && i < MAP_LENGTH; i++)
+- {
+- if (BitIsOn(k->down, i))
+- {
+- nevents = GetKeyboardEvents(eventlist, dev, KeyRelease, i);
+- for (j = 0; j < nevents; j++)
+- mieqProcessDeviceEvent(dev, (InternalEvent*)(eventlist+j)->event, NULL);
+- }
+- }
+-
+- FreeEventList(eventlist, GetMaximumEventsNum());
+-}
+-
+-/**
+ * Attach device 'dev' to device 'master'.
+ * Client is set to the client that issued the request, or NULL if it comes
+ * from some internal automatic pairing.
+@@ -2452,8 +2412,6 @@ AttachDevice(ClientPtr client, DeviceIntPtr dev, DeviceIntPtr master)
+ free(dev->spriteInfo->sprite);
+ }
+
+- ReleaseButtonsAndKeys(dev);
+-
+ oldmaster = dev->u.master;
+ dev->u.master = master;
+
diff --git a/debian/patches/series b/debian/patches/series
index c866058..a486d63 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -32,6 +32,7 @@
214_glx_dri_searchdirs.patch
215_glx_drawable_refcounting.diff
217_revert_bgnonevisitwindow.patch
+218_revert-release-all-buttons.diff
500_xi2.1.patch
501_xf86CoordinatesToWindow.patch
502_gestures-extension.patch
Reply to: