From 2fbeb0bb9f69548022dfcfe53b5c3ecbc8afa75802c90a90e4c8caaa4219b29f Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 6 Nov 2017 10:52:48 +0000 Subject: [PATCH] Accepting request 538949 from home:luc14n0:branches:GNOME:Factory Update to version 3.26.2 OBS-URL: https://build.opensuse.org/request/show/538949 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/mutter?expand=0&rev=267 --- mutter-3.26.1.tar.xz | 3 - mutter-3.26.2.tar.xz | 3 + mutter-handle-no-to-no-monitor.patch | 31 ----- mutter-preferred-mode.patch | 119 ------------------ mutter-wayland-dma-buf-modifiers-fix.patch | 45 ------- mutter-x11-Protect-XChangeProperty-call.patch | 34 ----- mutter.changes | 39 +++++- mutter.spec | 25 +--- 8 files changed, 45 insertions(+), 254 deletions(-) delete mode 100644 mutter-3.26.1.tar.xz create mode 100644 mutter-3.26.2.tar.xz delete mode 100644 mutter-handle-no-to-no-monitor.patch delete mode 100644 mutter-preferred-mode.patch delete mode 100644 mutter-wayland-dma-buf-modifiers-fix.patch delete mode 100644 mutter-x11-Protect-XChangeProperty-call.patch diff --git a/mutter-3.26.1.tar.xz b/mutter-3.26.1.tar.xz deleted file mode 100644 index b11d198..0000000 --- a/mutter-3.26.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:16faf617aae9be06dc5f9e104f4cd20dfdd4d6ec0bc10053752262e9f79a04c2 -size 3623648 diff --git a/mutter-3.26.2.tar.xz b/mutter-3.26.2.tar.xz new file mode 100644 index 0000000..6228010 --- /dev/null +++ b/mutter-3.26.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83309feb05a4635c47713665c0592af8ab6d7f17a36e4bd626d67609b6422fab +size 3622904 diff --git a/mutter-handle-no-to-no-monitor.patch b/mutter-handle-no-to-no-monitor.patch deleted file mode 100644 index f9d779b..0000000 --- a/mutter-handle-no-to-no-monitor.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 8886e1bbdcb712d1e70873b2cccb7ab62e6a3eec Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jonas=20=C3=85dahl?= -Date: Sat, 7 Oct 2017 00:33:39 -0400 -Subject: [PATCH] window: Handle updating from no to no monitor - -When we received two hot plug events that both resulted in headless -configuration, we tried to find a new window monitor given the old. -That resulted in a null pointer dereference; avoid that by only trying -to find the same monitor if there was an old one. - -https://bugzilla.gnome.org/show_bug.cgi?id=788607 ---- - src/core/window.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/window.c b/src/core/window.c -index dc60a667c..c2d9869d2 100644 ---- a/src/core/window.c -+++ b/src/core/window.c -@@ -3793,7 +3793,7 @@ meta_window_update_for_monitors_changed (MetaWindow *window) - new = find_monitor_by_winsys_id (window, window->preferred_output_winsys_id); - - /* Otherwise, try to find the old output on a new monitor */ -- if (!new) -+ if (old && !new) - new = find_monitor_by_winsys_id (window, old->winsys_id); - - /* Fall back to primary if everything else failed */ --- -2.14.2 - diff --git a/mutter-preferred-mode.patch b/mutter-preferred-mode.patch deleted file mode 100644 index 2c17ce8..0000000 --- a/mutter-preferred-mode.patch +++ /dev/null @@ -1,119 +0,0 @@ -From c0dc66e8c0dfc6ab02506343dc8418891159657c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jonas=20=C3=85dahl?= -Date: Wed, 18 Oct 2017 23:22:01 +0800 -Subject: [PATCH] monitor/normal: Prefer modes with same flags as preferred - mode - -When generating MetaMonitorMode's, prefer CRTC modes that has the same -set of flags as the preferred mode. This not only is probably a better -set of configurable modes, but it'll guarantee that the preferred mode -is added. - -This fixes a crash when the preferred mode was not the first mode with -the same resolution, refresh rate and set of handled modes. - -https://bugzilla.gnome.org/show_bug.cgi?id=789153 ---- - src/backends/meta-monitor.c | 41 ++++++++++++++++++++++++++++++++--------- - 1 file changed, 32 insertions(+), 9 deletions(-) - -diff --git a/src/backends/meta-monitor.c b/src/backends/meta-monitor.c -index 8ca6ea859..2d06a1e36 100644 ---- a/src/backends/meta-monitor.c -+++ b/src/backends/meta-monitor.c -@@ -394,16 +394,22 @@ generate_mode_id (MetaMonitorModeSpec *monitor_mode_spec) - - static gboolean - meta_monitor_add_mode (MetaMonitor *monitor, -- MetaMonitorMode *monitor_mode) -+ MetaMonitorMode *monitor_mode, -+ gboolean replace) - { - MetaMonitorPrivate *priv = meta_monitor_get_instance_private (monitor); -+ MetaMonitorMode *existing_mode; - -- if (g_hash_table_lookup (priv->mode_ids, -- meta_monitor_mode_get_id (monitor_mode))) -+ existing_mode = g_hash_table_lookup (priv->mode_ids, -+ meta_monitor_mode_get_id (monitor_mode)); -+ if (existing_mode && !replace) - return FALSE; - -+ if (existing_mode) -+ priv->modes = g_list_remove (priv->modes, existing_mode); -+ - priv->modes = g_list_append (priv->modes, monitor_mode); -- g_hash_table_insert (priv->mode_ids, monitor_mode->id, monitor_mode); -+ g_hash_table_replace (priv->mode_ids, monitor_mode->id, monitor_mode); - - return TRUE; - } -@@ -415,13 +421,17 @@ meta_monitor_normal_generate_modes (MetaMonitorNormal *monitor_normal) - MetaMonitorPrivate *monitor_priv = - meta_monitor_get_instance_private (monitor); - MetaOutput *output; -+ MetaCrtcModeFlag preferred_mode_flags; - unsigned int i; - - output = meta_monitor_get_main_output (monitor); -+ preferred_mode_flags = output->preferred_mode->flags; -+ - for (i = 0; i < output->n_modes; i++) - { - MetaCrtcMode *crtc_mode = output->modes[i]; - MetaMonitorMode *mode; -+ gboolean replace; - - mode = g_new0 (MetaMonitorMode, 1); - mode->spec = (MetaMonitorModeSpec) { -@@ -437,13 +447,26 @@ meta_monitor_normal_generate_modes (MetaMonitorNormal *monitor_normal) - .crtc_mode = crtc_mode - }; - -+ /* -+ * We don't distinguish between all available mode flags, just the ones -+ * that are configurable. We still need to pick some mode though, so -+ * prefer ones that has the same set of flags as the preferred mode; -+ * otherwise take the first one in the list. This guarantees that the -+ * preferred mode is always added. -+ */ -+ replace = crtc_mode->flags == preferred_mode_flags; -+ -+ if (!meta_monitor_add_mode (monitor, mode, replace)) -+ { -+ g_assert (crtc_mode != output->preferred_mode); -+ meta_monitor_mode_free (mode); -+ continue; -+ } -+ - if (crtc_mode == output->preferred_mode) - monitor_priv->preferred_mode = mode; - if (output->crtc && crtc_mode == output->crtc->current_mode) - monitor_priv->current_mode = mode; -- -- if (!meta_monitor_add_mode (monitor, mode)) -- meta_monitor_mode_free (mode); - } - } - -@@ -825,7 +848,7 @@ generate_tiled_monitor_modes (MetaMonitorTiled *monitor_tiled) - - tiled_modes = g_list_remove_link (tiled_modes, l); - -- if (!meta_monitor_add_mode (monitor, mode)) -+ if (!meta_monitor_add_mode (monitor, mode, FALSE)) - { - meta_monitor_mode_free (mode); - continue; -@@ -967,7 +990,7 @@ generate_untiled_monitor_modes (MetaMonitorTiled *monitor_tiled) - if (!mode) - continue; - -- if (!meta_monitor_add_mode (monitor, mode)) -+ if (!meta_monitor_add_mode (monitor, mode, FALSE)) - { - meta_monitor_mode_free (mode); - continue; --- -2.14.2 - diff --git a/mutter-wayland-dma-buf-modifiers-fix.patch b/mutter-wayland-dma-buf-modifiers-fix.patch deleted file mode 100644 index bb85925..0000000 --- a/mutter-wayland-dma-buf-modifiers-fix.patch +++ /dev/null @@ -1,45 +0,0 @@ -From edfd15b32daca9fef707a25bf312441349506b05 Mon Sep 17 00:00:00 2001 -From: Daniel Stone -Date: Mon, 2 Oct 2017 16:46:17 +0100 -Subject: wayland-dma-buf: Don't send modifiers to old clients - -The modifier event was only added in v3 of the client; sending it to -older clients (e.g. GStreamer waylandsink) causes them to disconnect -immediately. - -Send the older 'format' event to all clients, and only send the newer -'modifier' event to resource versions 3 or above. - -https://bugzilla.gnome.org/show_bug.cgi?id=788558 ---- - src/wayland/meta-wayland-dma-buf.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/src/wayland/meta-wayland-dma-buf.c b/src/wayland/meta-wayland-dma-buf.c -index e5d2f7c..76b8aa2 100644 ---- a/src/wayland/meta-wayland-dma-buf.c -+++ b/src/wayland/meta-wayland-dma-buf.c -@@ -473,12 +473,19 @@ send_modifiers (struct wl_resource *resource, - gboolean ret; - int i; - -+ zwp_linux_dmabuf_v1_send_format (resource, format); -+ -+ /* The modifier event was only added in v3; v1 and v2 only have the format -+ * event. */ -+ if (wl_resource_get_version (resource) < ZWP_LINUX_DMABUF_V1_MODIFIER_SINCE_VERSION) -+ return; -+ - /* First query the number of available modifiers, then allocate an array, - * then fill the array. */ - ret = meta_egl_query_dma_buf_modifiers (egl, egl_display, format, 0, NULL, - NULL, &num_modifiers, NULL); - if (!ret || num_modifiers == 0) -- return; -+ return; - - modifiers = g_new0 (uint64_t, num_modifiers); - ret = meta_egl_query_dma_buf_modifiers (egl, egl_display, format, --- -cgit v0.12 - diff --git a/mutter-x11-Protect-XChangeProperty-call.patch b/mutter-x11-Protect-XChangeProperty-call.patch deleted file mode 100644 index fdec749..0000000 --- a/mutter-x11-Protect-XChangeProperty-call.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 41f7a5fdf3bd95bd13e43e2151d29157d1dc5168 Mon Sep 17 00:00:00 2001 -From: polygamma -Date: Mon, 9 Oct 2017 16:14:13 +0200 -Subject: x11: Protect XChangeProperty call with error traps - -They may happen around the time a window is destroyed, thus could result -on BadWindow X errors. - -https://bugzilla.gnome.org/show_bug.cgi?id=788666 ---- - src/x11/window-x11.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c -index 36a5e70..4885f5f 100644 ---- a/src/x11/window-x11.c -+++ b/src/x11/window-x11.c -@@ -920,11 +920,13 @@ update_gtk_edge_constraints (MetaWindow *window) - - meta_verbose ("Setting _GTK_EDGE_CONSTRAINTS to %lu\n", data[0]); - -+ meta_error_trap_push (window->display); - XChangeProperty (window->display->xdisplay, - window->xwindow, - window->display->atom__GTK_EDGE_CONSTRAINTS, - XA_CARDINAL, 32, PropModeReplace, - (guchar*) data, 1); -+ meta_error_trap_pop (window->display); - } - - static gboolean --- -cgit v0.12 - diff --git a/mutter.changes b/mutter.changes index 11abd8f..89d2cc5 100644 --- a/mutter.changes +++ b/mutter.changes @@ -1,3 +1,33 @@ +------------------------------------------------------------------- +Sat Nov 4 02:03:57 UTC 2017 - luc14n0@linuxmail.org + +- Update to version 3.26.2: + + Work with clients that require older linux_dmabuf protocol + (bgo#788558). + + Prevent crash when closing maximized windows (bgo#788666). + + Use the correct monitor for HiDPI scaling of shell chrome + (bgo#788820). + + Enable XWayland core dumps (bgo#789086). + + Fixes: + - Unredirection of fullscreen windows (bgo#788493). + - List of supported monitor scales on X11 (bgo#788901). + - Handling of trackball settings on wayland (bgo#787804). + - Miscellaneous: + . Multi-monitor regressions and crashes (bgo#788607, + bgo#788860, bgo#789153, bgo#786929, bgo#789501). + . Bug fixes: bgo#788572, bgo#788569, bgo#784314, bgo#789227, + bgo#789223, bgo#782344, bgo#789552, bgo#789553, bgo#789300. + + Updated translations. +- Drop fixed upstream patches: + mutter-wayland-dma-buf-modifiers-fix.patch, + mutter-x11-Protect-XChangeProperty-call.patch, + mutter-handle-no-to-no-monitor.patch and + mutter-preferred-mode.patch. +- Drop %glib2_gsettings_schema_requires macro: the functionality is + covered by file triggers now. +- Point fdupes to the /usr directory instead of the build root, + which is a practice that must be avoided. + ------------------------------------------------------------------- Thu Oct 19 21:47:53 UTC 2017 - mgorse@suse.com @@ -23,12 +53,15 @@ Wed Oct 4 19:55:42 UTC 2017 - zaitor@opensuse.org + Fix crash during monitor configuration migration (bgo#787668). + Fix multihead regressions in X11 session (bgo#787477). + Fix screen rotation regressions (bgo#787836). - + Fix keybindings not being resolved with non-latin layouts (bgo#787016). + + Fix keybindings not being resolved with non-latin layouts + (bgo#787016). + Support snap packages for sandboxed app IDs (bgo#788217). + Fix crash when reconnecting tablet device (bgo#787649). + Support running headless (bgo#730551, bgo#787637). - + Support _NET_RESTACK_WINDOW and ConfigureRequest siblings (bgo#786365). - + Fix monitor layout not being remembered across sessions (bgo#787629). + + Support _NET_RESTACK_WINDOW and ConfigureRequest siblings + (bgo#786365). + + Fix monitor layout not being remembered across sessions + (bgo#787629). + Make sure to export _NET_NUMBER_OF_DESKTOPS (bgo#760651). + Allow resizing of tiled windows (bgo#645153). + Export tiling information to clients (bgo#751857). diff --git a/mutter.spec b/mutter.spec index 61fc815..da99227 100644 --- a/mutter.spec +++ b/mutter.spec @@ -17,27 +17,19 @@ Name: mutter -Version: 3.26.1 +Version: 3.26.2 Release: 0 Summary: Window and compositing manager based on Clutter License: GPL-2.0+ Group: System/GUI/GNOME -Url: http://www.gnome.org -Source: http://download.gnome.org/sources/mutter/3.26/%{name}-%{version}.tar.xz +Url: https://www.gnome.org +Source: https://download.gnome.org/sources/mutter/3.26/%{name}-%{version}.tar.xz # PATCH-FIX-UPSTREAM mutter-fix-startup.patch bgo#768531 zaitor@opensuse.org -- Fix slow startup notification on wayland Patch0: mutter-fix-startup.patch # PATCH-FEATURE-UPSTREAM mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch FATE#323412 bgo#781704 bsc#1024748 vliaskovitis@suse.com -- iconcache: Support RGB16_565 format for 16-bit sessions Patch1: mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch -# PATCH-FIX-UPSTREAM mutter-wayland-dma-buf-modifiers-fix.patch bgo#788558 zaitor@opensuse.org -- Don't send modifiers to old clients -Patch2: mutter-wayland-dma-buf-modifiers-fix.patch -# PATCH-FIX-UPSTREAM mutter-x11-Protect-XChangeProperty-call.patch bgo#788666 zaitor@opensuse.org -- Protect XChangeProperty call with error traps -Patch3: mutter-x11-Protect-XChangeProperty-call.patch -# PATCH-FIX-UPSTREAM mutter-handle-no-to-no-monitor.patch bgo#788607 mgorse@suse.com -- handle updating from no to no monitor. -Patch4: mutter-handle-no-to-no-monitor.patch -# PATCH-FIX-UPSTREAM mutter-preferred-mode.patch bgo#789153 mgorse@suse.com -- monitor/normal: prefer modes with same flags as preferred mode. -Patch5: mutter-preferred-mode.patch -# SLE only patches start at 1000 +# SLE-only patches start at 1000 # PATCH-FEATURE-SLE mutter-SLE-bell.patch FATE#316042 bnc#889218 idonmez@suse.com -- make audible bell work out of the box. Patch1000: mutter-SLE-bell.patch # PATCH-FIX-SLE mutter-SLE-relax-some-constraints-on-CSD-windows.patch bnc#883491 cxiong@suse.com -- Relax some constraints on window positioning for CSD windows s.t. they can be placed at the very top of the monitor. @@ -122,7 +114,6 @@ This package contains a library for shared features. Summary: Data files for mutter, a window and compositing manager based on Clutter Group: System/GUI/GNOME Requires: %{name} = %{version} -%glib2_gsettings_schema_requires %description data Mutter is a window and compositing manager based on Clutter, forked @@ -146,12 +137,8 @@ applications that want to make use of the mutter library. %setup -q %patch0 -p1 %patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -# SLE only patches and translations. +# SLE-only patches and translations. %if !0%{?is_opensuse} translation-update-upstream %patch1000 -p1 @@ -174,7 +161,7 @@ make %{?_smp_mflags} find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print %suse_update_desktop_file %{name} %find_lang %{name} %{?no_lang_C} -%fdupes %{buildroot} +%fdupes %{buildroot}%{_prefix} %post -n libmutter-1-0 -p /sbin/ldconfig