[xorg-x11-server/f15] xserver-1.11.2-dix-button-state-must-show-the-logical-buttons-not-p.patch: XI2 button state was wron

Peter Hutterer whot at fedoraproject.org
Fri Dec 16 03:20:34 UTC 2011


commit 7ec5d02ebd59213cb1f8d70769069912c6bc265d
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Fri Dec 16 13:14:05 2011 +1000

    xserver-1.11.2-dix-button-state-must-show-the-logical-buttons-not-p.patch:
    XI2 button state was wrong

 xorg-x11-server.spec                               |   12 ++++++-
 ...state-must-show-the-logical-buttons-not-p.patch |   38 ++++++++++++++++++++
 2 files changed, 49 insertions(+), 1 deletions(-)
---
diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec
index 2f4cbbd..6fff227 100644
--- a/xorg-x11-server.spec
+++ b/xorg-x11-server.spec
@@ -30,7 +30,7 @@
 Summary:   X.Org X11 X server
 Name:      xorg-x11-server
 Version:   1.10.4
-Release:   1%{?gitdate:.%{gitdate}}%{dist}
+Release:   2%{?gitdate:.%{gitdate}}%{dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X
@@ -95,6 +95,11 @@ Patch7013: xserver-1.10.1-memcpy-abuse.patch
 # upstream backports
 Patch7015: xserver-1.10.1-dri2-fixes.patch
 
+# https://bugzilla.gnome.org/show_bug.cgi?id=655928, XI2 button state is
+# incorrect if the pointer is mapped
+Patch7016: xserver-1.11.2-dix-button-state-must-show-the-logical-buttons-not-p.patch
+
+
 %define moduledir	%{_libdir}/xorg/modules
 %define drimoduledir	%{_libdir}/dri
 %define sdkdir		%{_includedir}/xorg
@@ -559,6 +564,11 @@ rm -rf $RPM_BUILD_ROOT
 %{xserver_source_dir}
 
 %changelog
+*Fri Dec 16 2011 Peter Hutterer <peter.hutterer at redhat.com> 1.10.4-2
+- xserver-1.11.2-dix-button-state-must-show-the-logical-buttons-not-p.patch:
+  XI2 button state was wrong
+
+
 * Wed Sep 07 2011 Adam Jackson <ajax at redhat.com> 1.10.4-1
 - xserver 1.10.4
 
diff --git a/xserver-1.11.2-dix-button-state-must-show-the-logical-buttons-not-p.patch b/xserver-1.11.2-dix-button-state-must-show-the-logical-buttons-not-p.patch
new file mode 100644
index 0000000..7163e05
--- /dev/null
+++ b/xserver-1.11.2-dix-button-state-must-show-the-logical-buttons-not-p.patch
@@ -0,0 +1,38 @@
+From d54db5c500e865e2d67d8e8076ade7c73f719f59 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer at who-t.net>
+Date: Fri, 16 Dec 2011 12:41:08 +1000
+Subject: [PATCH] dix: button state must show the logical buttons, not
+ physical buttons
+
+If the device is mapped 3 2 1, a click on physical button 1 sends a button 3
+press, but the state was set for button 1. Fix this, the state must be set
+for that button's logical mapping.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=655928
+
+Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
+(cherry picked from commit 9567d21e85b99febe805263a4d93b15fd1f7ab42)
+
+Conflicts:
+
+	dix/inpututils.c
+---
+ Xi/exevents.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/Xi/exevents.c b/Xi/exevents.c
+index dcb496f..9d43564 100644
+--- a/Xi/exevents.c
++++ b/Xi/exevents.c
+@@ -927,7 +927,7 @@ ProcessOtherEvent(InternalEvent *ev, DeviceIntPtr device)
+ 
+     for (i = 0; mouse && mouse->button && i < mouse->button->numButtons; i++)
+         if (BitIsOn(mouse->button->down, i))
+-            SetBit(event->buttons, i);
++            SetBit(event->buttons, mouse->button->map[i]);
+ 
+     if (kbd && kbd->key)
+     {
+-- 
+1.7.7.1
+


More information about the scm-commits mailing list