[clutter/f17] Fix misnamed define to enable XI 2.2 support (#809864)

Peter Hutterer whot at fedoraproject.org
Thu Apr 12 03:15:33 UTC 2012


commit b32fd49ca94e8974b001d7ce647d451f84867719
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Thu Apr 12 13:17:26 2012 +1000

    Fix misnamed define to enable XI 2.2 support (#809864)

 ...name-XINPUT_2_2-define-to-HAVE_XINPUT_2_2.patch |  159 ++++++++++++++++++++
 clutter.spec                                       |    7 +-
 2 files changed, 165 insertions(+), 1 deletions(-)
---
diff --git a/0001-Rename-XINPUT_2_2-define-to-HAVE_XINPUT_2_2.patch b/0001-Rename-XINPUT_2_2-define-to-HAVE_XINPUT_2_2.patch
new file mode 100644
index 0000000..fa54f4c
--- /dev/null
+++ b/0001-Rename-XINPUT_2_2-define-to-HAVE_XINPUT_2_2.patch
@@ -0,0 +1,159 @@
+From 66c4d6214e7354749d396cff059b0d7a9b94e48c Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer at who-t.net>
+Date: Thu, 12 Apr 2012 13:07:34 +1000
+Subject: [PATCH] Rename XINPUT_2_2 define to HAVE_XINPUT_2_2
+
+configure.ac defines XINPUT_2_2 if XI 2.2 support was found. The code
+expects XINPUT_2_2 in the device manager, but HAVE_XINPUT_2_2 in the x11
+backend.
+
+On newer X servers, the latter causes a BadValue when XIQueryDevice sends a
+different major/minor than gdk's device manager (gnome-control-center).
+
+Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
+---
+ clutter/x11/clutter-device-manager-xi2.c |   26 +++++++++++++-------------
+ clutter/x11/clutter-input-device-xi2.c   |    4 ++--
+ configure.ac                             |    2 +-
+ 3 files changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/clutter/x11/clutter-device-manager-xi2.c b/clutter/x11/clutter-device-manager-xi2.c
+index aad69c7..52897a0 100644
+--- a/clutter/x11/clutter-device-manager-xi2.c
++++ b/clutter/x11/clutter-device-manager-xi2.c
+@@ -154,7 +154,7 @@ translate_device_classes (Display             *xdisplay,
+                                     (XIValuatorClassInfo *) class_info);
+           break;
+ 
+-#ifdef XINPUT_2_2
++#ifdef HAVE_XINPUT_2_2
+         case XIScrollClass:
+           {
+             XIScrollClassInfo *scroll_info = (XIScrollClassInfo *) class_info;
+@@ -178,7 +178,7 @@ translate_device_classes (Display             *xdisplay,
+                                                    scroll_info->increment);
+           }
+           break;
+-#endif /* XINPUT_2_2 */
++#endif /* HAVE_XINPUT_2_2 */
+ 
+         default:
+           break;
+@@ -192,7 +192,7 @@ is_touch_device (XIAnyClassInfo         **classes,
+                  ClutterInputDeviceType  *device_type,
+                  guint                   *n_touch_points)
+ {
+-#ifdef XINPUT_2_2
++#ifdef HAVE_XINPUT_2_2
+   guint i;
+ 
+   for (i = 0; i < n_classes; i++)
+@@ -486,11 +486,11 @@ get_event_stage (ClutterEventTranslator *translator,
+     case XI_ButtonPress:
+     case XI_ButtonRelease:
+     case XI_Motion:
+-#ifdef XINPUT_2_2
++#ifdef HAVE_XINPUT_2_2
+     case XI_TouchBegin:
+     case XI_TouchUpdate:
+     case XI_TouchEnd:
+-#endif /* XINPUT_2_2 */
++#endif /* HAVE_XINPUT_2_2 */
+       {
+         XIDeviceEvent *xev = (XIDeviceEvent *) xi_event;
+ 
+@@ -858,10 +858,10 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator,
+                                                  stage_x11,
+                                                  &xev->valuators);
+ 
+-#ifdef XINPUT_2_2
++#ifdef HAVE_XINPUT_2_2
+             if (xev->flags & XIPointerEmulated)
+               _clutter_event_set_pointer_emulated (event, TRUE);
+-#endif /* XINPUT_2_2 */
++#endif /* HAVE_XINPUT_2_2 */
+             break;
+ 
+           default:
+@@ -910,10 +910,10 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator,
+                       event->button.y,
+                       event->button.axes != NULL ? "yes" : "no");
+ 
+-#ifdef XINPUT_2_2
++#ifdef HAVE_XINPUT_2_2
+         if (xev->flags & XIPointerEmulated)
+           _clutter_event_set_pointer_emulated (event, TRUE);
+-#endif /* XINPUT_2_2 */
++#endif /* HAVE_XINPUT_2_2 */
+ 
+         if (xi_event->evtype == XI_ButtonPress)
+           _clutter_stage_x11_set_user_time (stage_x11, event->button.time);
+@@ -990,10 +990,10 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator,
+         if (source_device != NULL && device->stage != NULL)
+           _clutter_input_device_set_stage (source_device, device->stage);
+ 
+-#ifdef XINPUT_2_2
++#ifdef HAVE_XINPUT_2_2
+         if (xev->flags & XIPointerEmulated)
+           _clutter_event_set_pointer_emulated (event, TRUE);
+-#endif /* XINPUT_2_2 */
++#endif /* HAVE_XINPUT_2_2 */
+ 
+         CLUTTER_NOTE (EVENT, "motion: win:0x%x device:%s (x:%.2f, y:%.2f, axes:%s)",
+                       (unsigned int) stage_x11->xwin,
+@@ -1006,7 +1006,7 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator,
+       }
+       break;
+ 
+-#ifdef XINPUT_2_2
++#ifdef HAVE_XINPUT_2_2
+     case XI_TouchBegin:
+     case XI_TouchEnd:
+       {
+@@ -1114,7 +1114,7 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator,
+         retval = CLUTTER_TRANSLATE_QUEUE;
+       }
+       break;
+-#endif /* XINPUT_2_2 */
++#endif /* HAVE_XINPUT_2_2 */
+ 
+     case XI_Enter:
+     case XI_Leave:
+diff --git a/clutter/x11/clutter-input-device-xi2.c b/clutter/x11/clutter-input-device-xi2.c
+index fb9f272..c2b0d18 100644
+--- a/clutter/x11/clutter-input-device-xi2.c
++++ b/clutter/x11/clutter-input-device-xi2.c
+@@ -92,7 +92,7 @@ clutter_input_device_xi2_select_stage_events (ClutterInputDevice *device,
+   if (event_mask & LeaveWindowMask)
+     XISetMask (mask, XI_Leave);
+ 
+-#ifdef XINPUT_2_2
++#ifdef HAVE_XINPUT_2_2
+   /* enable touch event support if we're running on XInput 2.2 */
+   if (backend_x11->xi_minor >= 2)
+     {
+@@ -100,7 +100,7 @@ clutter_input_device_xi2_select_stage_events (ClutterInputDevice *device,
+       XISetMask (mask, XI_TouchUpdate);
+       XISetMask (mask, XI_TouchEnd);
+     }
+-#endif /* XINPUT_2_2 */
++#endif /* HAVE_XINPUT_2_2 */
+ 
+   xi_event_mask.deviceid = device_xi2->device_id;
+   xi_event_mask.mask = mask;
+diff --git a/configure.ac b/configure.ac
+index bd46aa8..83f0018 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -724,7 +724,7 @@ AS_IF([test "x$SUPPORT_X11" = "x1"],
+                                   AC_CHECK_MEMBER([XIScrollClassInfo.number],
+                                                   [
+                                                     have_xinput_2_2=yes
+-                                                    AC_DEFINE([XINPUT_2_2], [1], [Define to 1 if XInput 2.2 is available])
++                                                    AC_DEFINE([HAVE_XINPUT_2_2], [1], [Define to 1 if XInput 2.2 is available])
+                                                   ],
+                                                   [have_xinput_2_2=no],
+                                                   [[#include <X11/extensions/XInput2.h>]])])
+-- 
+1.7.10
+
diff --git a/clutter.spec b/clutter.spec
index 057929d..63450c3 100644
--- a/clutter.spec
+++ b/clutter.spec
@@ -1,6 +1,6 @@
 Name:          clutter
 Version:       1.10.0
-Release:       4%{?dist}
+Release:       5%{?dist}
 Summary:       Open Source software library for creating rich graphical user interfaces
 
 Group:         Development/Libraries
@@ -10,6 +10,7 @@ Source0:       http://www.clutter-project.org/sources/%{name}/1.10/%{name}-%{ver
 
 # upstream fix
 Patch01:       0001-table-layout-Fix-xy-_expand.patch
+Patch02:       0001-Rename-XINPUT_2_2-define-to-HAVE_XINPUT_2_2.patch
 
 BuildRequires: glib2-devel mesa-libGL-devel pkgconfig pango-devel
 BuildRequires: cairo-gobject-devel gdk-pixbuf2-devel atk-devel
@@ -63,6 +64,7 @@ This package contains documentation for clutter.
 %prep
 %setup -q
 %patch01 -p1
+%patch02 -p1
 
 %build
 (if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi;
@@ -107,6 +109,9 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';'
 %{_datadir}/gtk-doc/html/cally
 
 %changelog
+* Thu Apr 12 2012 Peter Hutterer <peter.hutterer at redhat.com> 1.10.0-5
+- Fix misnamed define to enable XI 2.2 support (#809864)
+
 * Fri Apr 06 2012 Zeeshan Ali <zeenix at redhat.com> - 1.10.0-4
 - Include layout fix (Needed by gnome-boxes at least).
 


More information about the scm-commits mailing list