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
