Hello community,

here is the log from the commit of package mutter for openSUSE:Factory checked 
in at 2016-12-04 15:05:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mutter (Old)
 and      /work/SRC/openSUSE:Factory/.mutter.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mutter"

Changes:
--------
--- /work/SRC/openSUSE:Factory/mutter/mutter.changes    2016-11-12 
14:51:15.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.mutter.new/mutter.changes       2016-12-04 
15:05:36.000000000 +0100
@@ -1,0 +2,7 @@
+Thu Dec  1 14:09:51 UTC 2016 - [email protected]
+
+- Add mutter-x11-meta.patch: Don't try setting unavailable scroll
+  methods; libinput acts really bad on it (bgo#775337, bgo#771744,
+  boo#1011356).
+
+-------------------------------------------------------------------

New:
----
  mutter-x11-meta.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mutter.spec ++++++
--- /var/tmp/diff_new_pack.zcVze2/_old  2016-12-04 15:05:38.000000000 +0100
+++ /var/tmp/diff_new_pack.zcVze2/_new  2016-12-04 15:05:38.000000000 +0100
@@ -40,6 +40,8 @@
 Patch3:         mutter-bsc984738-grab-display.patch
 # PATCH-FIX-UPSTREAM mutter-fix-startup.patch bgo#768531 [email protected] 
-- Fix slow startup notification on wayland
 Patch6:         mutter-fix-startup.patch
+# PATCH-FIX-UPSTREAM mutter-x11-meta.patch bgo#775337 bgo#771744 boo#1011356 
[email protected] -- meta-input-settings-x11: Don't try setting unavailable 
scroll methods
+Patch7:         mutter-x11-meta.patch
 BuildRequires:  fdupes
 BuildRequires:  gobject-introspection-devel >= 0.9.5
 BuildRequires:  libSM-devel
@@ -139,6 +141,7 @@
 %patch3 -p1
 %endif
 %patch6 -p1
+%patch7 -p1
 
 %build
 %configure \

++++++ mutter-x11-meta.patch ++++++
commit 5c46094d67f2e5cdafe6edcfd8c0d5894a2dafc6
Author: Rui Matos <[email protected]>
Date:   Mon Nov 14 17:33:11 2016 +0100

    meta-input-settings-x11: Don't try setting unavailable scroll methods
    
    Since doing so causes BadValue X errors.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=771744

diff --git a/src/backends/x11/meta-input-settings-x11.c 
b/src/backends/x11/meta-input-settings-x11.c
index 332997b..eccc68a 100644
--- a/src/backends/x11/meta-input-settings-x11.c
+++ b/src/backends/x11/meta-input-settings-x11.c
@@ -222,19 +222,27 @@ meta_input_settings_x11_set_edge_scroll 
(MetaInputSettings            *settings,
                                          gboolean                      
edge_scroll_enabled)
 {
   guchar values[SCROLL_METHOD_NUM_FIELDS] = { 0 }; /* 2fg, edge, button. The 
last value is unused */
-  guchar *current;
+  guchar *current = NULL;
+  guchar *available = NULL;
+
+  available = get_property (device, "libinput Scroll Methods Available",
+                            XA_INTEGER, 8, SCROLL_METHOD_NUM_FIELDS);
+  if (!available || !available[SCROLL_METHOD_FIELD_EDGE])
+    goto out;
 
   current = get_property (device, "libinput Scroll Method Enabled",
                           XA_INTEGER, 8, SCROLL_METHOD_NUM_FIELDS);
   if (!current)
-    return;
+    goto out;
 
   memcpy (values, current, SCROLL_METHOD_NUM_FIELDS);
 
   values[SCROLL_METHOD_FIELD_EDGE] = !!edge_scroll_enabled;
   change_property (device, "libinput Scroll Method Enabled",
                    XA_INTEGER, 8, &values, SCROLL_METHOD_NUM_FIELDS);
+ out:
   meta_XFree (current);
+  meta_XFree (available);
 }
 
 static void
@@ -243,19 +251,27 @@ meta_input_settings_x11_set_two_finger_scroll 
(MetaInputSettings            *set
                                                gboolean                      
two_finger_scroll_enabled)
 {
   guchar values[SCROLL_METHOD_NUM_FIELDS] = { 0 }; /* 2fg, edge, button. The 
last value is unused */
-  guchar *current;
+  guchar *current = NULL;
+  guchar *available = NULL;
+
+  available = get_property (device, "libinput Scroll Methods Available",
+                            XA_INTEGER, 8, SCROLL_METHOD_NUM_FIELDS);
+  if (!available || !available[SCROLL_METHOD_FIELD_2FG])
+    goto out;
 
   current = get_property (device, "libinput Scroll Method Enabled",
                           XA_INTEGER, 8, SCROLL_METHOD_NUM_FIELDS);
   if (!current)
-    return;
+    goto out;
 
   memcpy (values, current, SCROLL_METHOD_NUM_FIELDS);
 
   values[SCROLL_METHOD_FIELD_2FG] = !!two_finger_scroll_enabled;
   change_property (device, "libinput Scroll Method Enabled",
                    XA_INTEGER, 8, &values, SCROLL_METHOD_NUM_FIELDS);
+ out:
   meta_XFree (current);
+  meta_XFree (available);
 }
 
 static void

Reply via email to