From 5243171e918ee82bcda01311600c5bfcff9e468880ccaa0c6a7da458b336fe0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Lie?= Date: Tue, 11 Jan 2022 15:26:34 +0000 Subject: [PATCH 1/2] Accepting request 945345 from GNOME:Next Add a patch for java apps OBS-URL: https://build.opensuse.org/request/show/945345 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/mutter?expand=0&rev=399 --- mutter-Lower-HIDPI_LIMIT-to-144.patch | 8 ++--- mutter-allow-disable-hardware-cursors.patch | 13 +++----- mutter-disable-cvt-s390x.patch | 14 ++++---- ...tor-Special-case-shaped-Java-windows.patch | 32 +++++++++++++++++++ mutter.changes | 12 +++++++ mutter.spec | 15 +++++---- 6 files changed, 69 insertions(+), 25 deletions(-) create mode 100644 mutter-window-actor-Special-case-shaped-Java-windows.patch diff --git a/mutter-Lower-HIDPI_LIMIT-to-144.patch b/mutter-Lower-HIDPI_LIMIT-to-144.patch index 1b89eb4..da56862 100644 --- a/mutter-Lower-HIDPI_LIMIT-to-144.patch +++ b/mutter-Lower-HIDPI_LIMIT-to-144.patch @@ -7,11 +7,11 @@ Subject: [PATCH] monitor: Lower HIDPI_LIMIT to 144 src/backends/meta-monitor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: mutter-40.2.1/src/backends/meta-monitor.c +Index: mutter-41.2/src/backends/meta-monitor.c =================================================================== ---- mutter-40.2.1.orig/src/backends/meta-monitor.c -+++ mutter-40.2.1/src/backends/meta-monitor.c -@@ -1644,7 +1644,7 @@ meta_monitor_calculate_crtc_pos (MetaMon +--- mutter-41.2.orig/src/backends/meta-monitor.c ++++ mutter-41.2/src/backends/meta-monitor.c +@@ -1658,7 +1658,7 @@ meta_monitor_calculate_crtc_pos (MetaMon } /* The minimum resolution at which we turn on a window-scale of 2 */ diff --git a/mutter-allow-disable-hardware-cursors.patch b/mutter-allow-disable-hardware-cursors.patch index b597a13..ca6a3a6 100644 --- a/mutter-allow-disable-hardware-cursors.patch +++ b/mutter-allow-disable-hardware-cursors.patch @@ -14,11 +14,11 @@ Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2046 src/backends/native/meta-cursor-renderer-native.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -diff --git a/src/backends/native/meta-cursor-renderer-native.c b/src/backends/native/meta-cursor-renderer-native.c -index 8efdaf7775..8a1a6d6446 100644 ---- a/src/backends/native/meta-cursor-renderer-native.c -+++ b/src/backends/native/meta-cursor-renderer-native.c -@@ -1874,7 +1874,10 @@ meta_cursor_renderer_native_new (MetaBackend *backend, +Index: mutter-41.2/src/backends/native/meta-cursor-renderer-native.c +=================================================================== +--- mutter-41.2.orig/src/backends/native/meta-cursor-renderer-native.c ++++ mutter-41.2/src/backends/native/meta-cursor-renderer-native.c +@@ -1864,7 +1864,10 @@ meta_cursor_renderer_native_new (MetaBac priv->backend = backend; @@ -30,6 +30,3 @@ index 8efdaf7775..8a1a6d6446 100644 return cursor_renderer_native; } --- -GitLab - diff --git a/mutter-disable-cvt-s390x.patch b/mutter-disable-cvt-s390x.patch index 1b4dbfa..42a2d67 100644 --- a/mutter-disable-cvt-s390x.patch +++ b/mutter-disable-cvt-s390x.patch @@ -1,8 +1,8 @@ -Index: mutter-40.2.1/src/meson.build +Index: mutter-41.2/src/meson.build =================================================================== ---- mutter-40.2.1.orig/src/meson.build -+++ mutter-40.2.1/src/meson.build -@@ -824,6 +824,7 @@ if have_profiler +--- mutter-41.2.orig/src/meson.build ++++ mutter-41.2/src/meson.build +@@ -843,6 +843,7 @@ if have_profiler endif if have_native_backend @@ -10,7 +10,7 @@ Index: mutter-40.2.1/src/meson.build cvt = find_program('cvt') gen_default_modes = find_program('backends/native/gen-default-modes.py') -@@ -831,6 +832,9 @@ if have_native_backend +@@ -850,6 +851,9 @@ if have_native_backend output: 'meta-default-modes.h', command: [gen_default_modes, '@OUTPUT@'] ) @@ -20,10 +20,10 @@ Index: mutter-40.2.1/src/meson.build mutter_built_sources += default_modes_h dbus_login1_built_sources = gnome.gdbus_codegen('meta-dbus-login1', -Index: mutter-40.2.1/src/backends/native/meta-default-modes.h +Index: mutter-41.2/src/backends/native/meta-default-modes.h =================================================================== --- /dev/null -+++ mutter-40.2.1/src/backends/native/meta-default-modes.h ++++ mutter-41.2/src/backends/native/meta-default-modes.h @@ -0,0 +1,57 @@ +/* Generated by gen-default-modes.py */ + diff --git a/mutter-window-actor-Special-case-shaped-Java-windows.patch b/mutter-window-actor-Special-case-shaped-Java-windows.patch new file mode 100644 index 0000000..da04655 --- /dev/null +++ b/mutter-window-actor-Special-case-shaped-Java-windows.patch @@ -0,0 +1,32 @@ +From 9efcc35102b4c41265e93461b35a1193b3d5822d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Fri, 12 May 2017 13:40:31 +0200 +Subject: [PATCH] window-actor: Special-case shaped Java windows + +OpenJDK wrongly assumes that shaping a window implies no shadows. +They got lucky until commit b975676c changed the fallback case, +but now their compliance tests are broken. Make them happy again +by special-casing shaped Java windows. +--- + src/compositor/meta-window-actor-x11.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +Index: mutter-41.2/src/compositor/meta-window-actor-x11.c +=================================================================== +--- mutter-41.2.orig/src/compositor/meta-window-actor-x11.c ++++ mutter-41.2/src/compositor/meta-window-actor-x11.c +@@ -589,6 +589,14 @@ has_shadow (MetaWindowActorX11 *actor_x1 + */ + if (window->has_custom_frame_extents) + return FALSE; ++ ++ /* ++ * OpenJDK wrongly assumes that shaping a window implies no compositor ++ * shadows; make its compliance tests happy to give it what it wants ... ++ */ ++ if (g_strcmp0 (window->res_name, "sun-awt-X11-XWindowPeer") == 0 && ++ window->shape_region != NULL) ++ return FALSE; + + /* + * Generate shadows for all other windows. diff --git a/mutter.changes b/mutter.changes index 28d971c..9c1c0f9 100644 --- a/mutter.changes +++ b/mutter.changes @@ -7,6 +7,18 @@ Mon Jan 10 07:14:19 UTC 2022 - Alynx Zhou saved_rect_fullscreen which is used for unfullscreen, this patch fixes it (glgo#GNOME/mutter!2210, bsc#1185444). +------------------------------------------------------------------- +Fri Dec 17 22:19:26 UTC 2021 - Bjørn Lie + +- Rebase patches with quilt and renumber them. +- Add mutter-window-actor-Special-case-shaped-Java-windows.patch: + window-actor: Special-case shaped Java windows. + OpenJDK wrongly assumes that shaping a window implies no shadows. + They got lucky until commit b975676c changed the fallback case, + but now their compliance tests are broken. Make them happy again + by special-casing shaped Java windows. Patch from fedora: + https://src.fedoraproject.org/rpms/mutter/raw/rawhide/f/0001-window-actor-Special-case-shaped-Java-windows.patch + ------------------------------------------------------------------- Fri Dec 17 09:00:44 UTC 2021 - Alynx Zhou diff --git a/mutter.spec b/mutter.spec index bde602a..56e52c1 100644 --- a/mutter.spec +++ b/mutter.spec @@ -34,13 +34,15 @@ URL: https://www.gnome.org Source0: %{name}-%{version}.tar.xz # PATCH-FIX-OPENSUSE mutter-Lower-HIDPI_LIMIT-to-144.patch fate#326682, bsc#1125467 qkzhu@suse.com -- Lower HIDPI_LIMIT to 144 -Patch3: mutter-Lower-HIDPI_LIMIT-to-144.patch +Patch0: mutter-Lower-HIDPI_LIMIT-to-144.patch # PATCH-FIX-UPSTREAM mutter-disable-cvt-s390x.patch bsc#1158128 fcrozat@suse.com -- Do not search for cvt on s390x, it doesn't exist there -Patch4: mutter-disable-cvt-s390x.patch +Patch1: mutter-disable-cvt-s390x.patch # PATCH-FIX-UPSTREAM mutter-allow-disable-hardware-cursors.patch glgo#GNOME/mutter!2150 alynx.zhou@suse.com -- Add a debug environment variable to disable hardware cursors. -Patch5: mutter-allow-disable-hardware-cursors.patch +Patch2: mutter-allow-disable-hardware-cursors.patch +# PATCH-FIX-OPENSUSE mutter-window-actor-Special-case-shaped-Java-windows.patch -- window-actor: Special-case shaped Java windows +Patch3: mutter-window-actor-Special-case-shaped-Java-windows.patch # PATCH-FIX-UPSTREAM mutter-initialize-saved_rect_fullscreen.patch glgo#GNOME/mutter!2210, bsc#1185444 alynx.zhou@suse.com -- Initialize saved_rect_fullscreen to fix fullscreen for some program like Stellarium. -Patch6: mutter-initialize-saved_rect_fullscreen.patch +Patch4: mutter-initialize-saved_rect_fullscreen.patch ## 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. @@ -145,10 +147,11 @@ applications that want to make use of the mutter library. %prep %setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 -%patch6 -p1 # SLE-only patches and translations. %if 0%{?sle_version} From 390fd9e67f51cfe7c95e1b5af20f839cc1449f2bcb20d9cae3f82c0eeab7345c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Lie?= Date: Tue, 11 Jan 2022 18:17:50 +0000 Subject: [PATCH 2/2] Accepting request 945633 from GNOME:Next MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update to version 41.3: + Check keyboard serials for activation + Fix mixed up refresh rates in multi-monitor setups + Allow disabling HW cursors + Improve damage handling + Consider xrandr flags for advertised modes + Ensure constraints after client resize + window-group: Disable culling when rendinging clone to offscreen buffer + Fix workspace switch animation in default plugin + Fix unfullscreening of window that were mapped fullscreen + Fix DMA-BUF screencasts with unredirected fullscreen windows + Fix orientation changes on devices with 90° + Fixed crashes + Plugged leaks + Misc. bug fixes and cleanups. - Drop patches fixed upstream: + mutter-allow-disable-hardware-cursors.patch + mutter-initialize-saved_rect_fullscreen.patch - Renumber patches yet again. OBS-URL: https://build.opensuse.org/request/show/945633 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/mutter?expand=0&rev=400 --- _service | 2 +- _servicedata | 4 -- mutter-41.2.obscpio | 3 -- mutter-41.3.obscpio | 3 ++ mutter-allow-disable-hardware-cursors.patch | 32 -------------- mutter-initialize-saved_rect_fullscreen.patch | 43 ------------------- mutter.changes | 24 +++++++++++ mutter.obsinfo | 7 ++- mutter.spec | 10 +---- 9 files changed, 33 insertions(+), 95 deletions(-) delete mode 100644 _servicedata delete mode 100644 mutter-41.2.obscpio create mode 100644 mutter-41.3.obscpio delete mode 100644 mutter-allow-disable-hardware-cursors.patch delete mode 100644 mutter-initialize-saved_rect_fullscreen.patch diff --git a/_service b/_service index d6d1b41..dc4979a 100644 --- a/_service +++ b/_service @@ -3,7 +3,7 @@ git https://gitlab.gnome.org/GNOME/mutter.git - refs/tags/41.2 + refs/tags/41.3 @PARENT_TAG@+@TAG_OFFSET@ (.*)\+0 \1 diff --git a/_servicedata b/_servicedata deleted file mode 100644 index 29a4e3f..0000000 --- a/_servicedata +++ /dev/null @@ -1,4 +0,0 @@ - - - https://gitlab.gnome.org/GNOME/mutter.git - 62609d7a6a7e9cfc34d4eebf2e1a7a29151810ae \ No newline at end of file diff --git a/mutter-41.2.obscpio b/mutter-41.2.obscpio deleted file mode 100644 index af5c417..0000000 --- a/mutter-41.2.obscpio +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:122e8ffad1d68643104bdc915f3f3c7ee4883254b11981c550de83671bf4a74b -size 24791565 diff --git a/mutter-41.3.obscpio b/mutter-41.3.obscpio new file mode 100644 index 0000000..268e99e --- /dev/null +++ b/mutter-41.3.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:993ed29a9c95637e3fb9793dad3f7ef0451e2570a7420f9a2f5bfe9e1aa8c4f5 +size 24804365 diff --git a/mutter-allow-disable-hardware-cursors.patch b/mutter-allow-disable-hardware-cursors.patch deleted file mode 100644 index ca6a3a6..0000000 --- a/mutter-allow-disable-hardware-cursors.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 62f1e7c12e87da4529df5441edf7a8303e8a6e9e Mon Sep 17 00:00:00 2001 -From: Olivier Fourdan -Date: Fri, 10 Dec 2021 10:57:29 +0100 -Subject: [PATCH] cursor-renderer/native: Add a means to disable HW cursors - -When dealing with a faulty hardware or bugs in the driver, it might be -interesting to force the use of software cursors for debugging purposes. - -Add a debug environment variable MUTTER_DEBUG_DISABLE_HW_CURSORS to -disable hardware cursors and force using software cursors. - -Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2046 ---- - src/backends/native/meta-cursor-renderer-native.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -Index: mutter-41.2/src/backends/native/meta-cursor-renderer-native.c -=================================================================== ---- mutter-41.2.orig/src/backends/native/meta-cursor-renderer-native.c -+++ mutter-41.2/src/backends/native/meta-cursor-renderer-native.c -@@ -1864,7 +1864,10 @@ meta_cursor_renderer_native_new (MetaBac - - priv->backend = backend; - -- init_hw_cursor_support (cursor_renderer_native); -+ if (g_strcmp0 (getenv ("MUTTER_DEBUG_DISABLE_HW_CURSORS"), "1")) -+ init_hw_cursor_support (cursor_renderer_native); -+ else -+ g_message ("Disabling hardware cursors because MUTTER_DEBUG_DISABLE_HW_CURSORS is set"); - - return cursor_renderer_native; - } diff --git a/mutter-initialize-saved_rect_fullscreen.patch b/mutter-initialize-saved_rect_fullscreen.patch deleted file mode 100644 index f536dd0..0000000 --- a/mutter-initialize-saved_rect_fullscreen.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 157555cf0e7aaef32892c5576e81ba2154d14a0d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jonas=20=C3=85dahl?= -Date: Fri, 7 Jan 2022 16:30:19 +0100 -Subject: [PATCH] window: Initialize saved_rect_fullscreen too - -We save the window rect before going fullscreen to a dedicated variable, -so we can go back to the correct dimension. We also have a dedicated -variable for returning from other window states, e.g. maximized, and -this one we initialized when creating the MetaWindow. This meant that we -could always rely on this being up to date on X11 windows that were -mapped maximized or fullscreen. - -What the commit that introduced the saved rect dedicated for going -unfullscreen missed was to initialize the new saved rectangle too when -creating the MetaWindow. This resulted in windows mapped as fullscreen -often ending up misbehaving when unfullscreening, as mutter would tell -them to unfullscreen to 0x0. - -Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1786 -Fixes: a51ad8f932cb55bdd8a62fc5d8d10af7fc62b0a0 -Part-of: - - -(cherry picked from commit 13f35ab0640631566f52c80583b09fe4e3dc3685) ---- - src/core/window.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/core/window.c b/src/core/window.c -index 9b3f54df9e..6623951613 100644 ---- a/src/core/window.c -+++ b/src/core/window.c -@@ -1054,6 +1054,7 @@ _meta_window_shared_new (MetaDisplay *display, - - /* And this is our unmaximized size */ - window->saved_rect = window->rect; -+ window->saved_rect_fullscreen = window->rect; - window->unconstrained_rect = window->rect; - - window->depth = attrs->depth; --- -GitLab - diff --git a/mutter.changes b/mutter.changes index 9c1c0f9..e387639 100644 --- a/mutter.changes +++ b/mutter.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Tue Jan 11 17:28:52 UTC 2022 - Bjørn Lie + +- Update to version 41.3: + + Check keyboard serials for activation + + Fix mixed up refresh rates in multi-monitor setups + + Allow disabling HW cursors + + Improve damage handling + + Consider xrandr flags for advertised modes + + Ensure constraints after client resize + + window-group: Disable culling when rendinging clone to + offscreen buffer + + Fix workspace switch animation in default plugin + + Fix unfullscreening of window that were mapped fullscreen + + Fix DMA-BUF screencasts with unredirected fullscreen windows + + Fix orientation changes on devices with 90° + + Fixed crashes + + Plugged leaks + + Misc. bug fixes and cleanups. +- Drop patches fixed upstream: + + mutter-allow-disable-hardware-cursors.patch + + mutter-initialize-saved_rect_fullscreen.patch +- Renumber patches yet again. + ------------------------------------------------------------------- Mon Jan 10 07:14:19 UTC 2022 - Alynx Zhou diff --git a/mutter.obsinfo b/mutter.obsinfo index 2d2df12..2e46455 100644 --- a/mutter.obsinfo +++ b/mutter.obsinfo @@ -1,5 +1,4 @@ name: mutter -version: 41.2 -mtime: 1639332937 -commit: 664ac09eecfd365b5258f53d2c9e6c8410a37919 - +version: 41.3 +mtime: 1641851077 +commit: f51ad2911419ee2ab88b5548581227a57d0fd987 diff --git a/mutter.spec b/mutter.spec index 56e52c1..005b038 100644 --- a/mutter.spec +++ b/mutter.spec @@ -23,7 +23,7 @@ %define api_minor 0 %define libmutter libmutter-%{api_major}-%{api_minor} Name: mutter -Version: 41.2 +Version: 41.3 Release: 0 Summary: Window and compositing manager based on Clutter License: GPL-2.0-or-later @@ -37,12 +37,8 @@ Source0: %{name}-%{version}.tar.xz Patch0: mutter-Lower-HIDPI_LIMIT-to-144.patch # PATCH-FIX-UPSTREAM mutter-disable-cvt-s390x.patch bsc#1158128 fcrozat@suse.com -- Do not search for cvt on s390x, it doesn't exist there Patch1: mutter-disable-cvt-s390x.patch -# PATCH-FIX-UPSTREAM mutter-allow-disable-hardware-cursors.patch glgo#GNOME/mutter!2150 alynx.zhou@suse.com -- Add a debug environment variable to disable hardware cursors. -Patch2: mutter-allow-disable-hardware-cursors.patch # PATCH-FIX-OPENSUSE mutter-window-actor-Special-case-shaped-Java-windows.patch -- window-actor: Special-case shaped Java windows -Patch3: mutter-window-actor-Special-case-shaped-Java-windows.patch -# PATCH-FIX-UPSTREAM mutter-initialize-saved_rect_fullscreen.patch glgo#GNOME/mutter!2210, bsc#1185444 alynx.zhou@suse.com -- Initialize saved_rect_fullscreen to fix fullscreen for some program like Stellarium. -Patch4: mutter-initialize-saved_rect_fullscreen.patch +Patch2: mutter-window-actor-Special-case-shaped-Java-windows.patch ## 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. @@ -150,8 +146,6 @@ applications that want to make use of the mutter library. %patch0 -p1 %patch1 -p1 %patch2 -p1 -%patch3 -p1 -%patch4 -p1 # SLE-only patches and translations. %if 0%{?sle_version}