From 529cce690cc8f60e0df7dcbc4d6b3b5b4f7923b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sun, 3 Mar 2024 16:24:44 +0100 Subject: [PATCH] Update to 46.rc --- .gitignore | 1 + ...nput-region-from-frame-window-for-de.patch | 26 +++++----- ...tor-Special-case-shaped-Java-windows.patch | 47 ++++++++++++++++--- mutter.spec | 4 +- sources | 2 +- 5 files changed, 58 insertions(+), 22 deletions(-) diff --git a/.gitignore b/.gitignore index 15db18c..7e2838f 100644 --- a/.gitignore +++ b/.gitignore @@ -217,3 +217,4 @@ mutter-2.31.5.tar.bz2 /mutter-45.2.tar.xz /mutter-46.alpha.tar.xz /mutter-46.beta.tar.xz +/mutter-46.rc.tar.xz diff --git a/0001-Revert-x11-Use-input-region-from-frame-window-for-de.patch b/0001-Revert-x11-Use-input-region-from-frame-window-for-de.patch index 34f73ee..c2baf41 100644 --- a/0001-Revert-x11-Use-input-region-from-frame-window-for-de.patch +++ b/0001-Revert-x11-Use-input-region-from-frame-window-for-de.patch @@ -1,4 +1,4 @@ -From 264bd8c2b7dab84d0f0e11ad6b99d8d5de4c5e08 Mon Sep 17 00:00:00 2001 +From 1d5c47f8970c2027de5f6fa49b84de73d55b419b Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Thu, 5 Oct 2023 13:09:46 -0700 Subject: [PATCH] Revert "x11: Use input region from frame window for decorated @@ -15,7 +15,7 @@ Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3068 2 files changed, 10 insertions(+), 26 deletions(-) diff --git a/src/core/frame.c b/src/core/frame.c -index 9417685706..2193f1fba2 100644 +index 145f0b7bd7..1c90ce4231 100644 --- a/src/core/frame.c +++ b/src/core/frame.c @@ -35,7 +35,6 @@ @@ -26,7 +26,7 @@ index 9417685706..2193f1fba2 100644 #define EVENT_MASK (SubstructureRedirectMask | \ StructureNotifyMask | SubstructureNotifyMask | \ -@@ -109,9 +108,6 @@ meta_window_set_frame_xwindow (MetaWindow *window, +@@ -109,9 +108,6 @@ meta_window_x11_set_frame_xwindow (MetaWindow *window, XChangeWindowAttributes (x11_display->xdisplay, frame->xwindow, CWEventMask, &attrs); @@ -47,12 +47,12 @@ index 9417685706..2193f1fba2 100644 meta_window_x11_get_xwindow (window), x11_display->atom__MUTTER_NEEDS_FRAME); diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c -index 95b6b55a02..a1890bb023 100644 +index 745c45db18..8edff883c9 100644 --- a/src/x11/window-x11.c +++ b/src/x11/window-x11.c -@@ -2087,10 +2087,6 @@ meta_window_x11_constructed (GObject *object) - priv->border_width = attrs.border_width; - priv->xclient_leader = None; +@@ -2082,10 +2082,6 @@ meta_window_x11_constructed (GObject *object) + priv->keys_grabbed = FALSE; + priv->grab_on_frame = FALSE; - g_signal_connect (window, "notify::decorated", - G_CALLBACK (meta_window_x11_update_input_region), @@ -61,7 +61,7 @@ index 95b6b55a02..a1890bb023 100644 G_OBJECT_CLASS (meta_window_x11_parent_class)->constructed (object); } -@@ -2386,21 +2382,16 @@ meta_window_x11_update_input_region (MetaWindow *window) +@@ -2400,21 +2396,16 @@ meta_window_x11_update_input_region (MetaWindow *window) g_autoptr (MtkRegion) region = NULL; MetaWindowX11 *window_x11 = META_WINDOW_X11 (window); MetaWindowX11Private *priv = meta_window_x11_get_instance_private (window_x11); @@ -75,7 +75,7 @@ index 95b6b55a02..a1890bb023 100644 { - if (!window->frame) - { -- if (window->input_region) +- if (priv->input_region) - meta_window_set_input_region (window, NULL); - return; - } @@ -84,13 +84,13 @@ index 95b6b55a02..a1890bb023 100644 - else - { - xwindow = priv->xwindow; -+ if (window->input_region) ++ if (priv->input_region) + meta_window_set_input_region (window, NULL); + return; } if (META_X11_DISPLAY_HAS_SHAPE (x11_display)) -@@ -2412,7 +2403,7 @@ meta_window_x11_update_input_region (MetaWindow *window) +@@ -2426,7 +2417,7 @@ meta_window_x11_update_input_region (MetaWindow *window) mtk_x11_error_trap_push (x11_display->xdisplay); rects = XShapeGetRectangles (x11_display->xdisplay, @@ -99,7 +99,7 @@ index 95b6b55a02..a1890bb023 100644 ShapeInput, &n_rects, &ordering); -@@ -2466,8 +2457,8 @@ meta_window_x11_update_input_region (MetaWindow *window) +@@ -2480,8 +2471,8 @@ meta_window_x11_update_input_region (MetaWindow *window) client_area.x = 0; client_area.y = 0; @@ -111,5 +111,5 @@ index 95b6b55a02..a1890bb023 100644 /* The shape we get back from the client may have coordinates * outside of the frame. The X SHAPE Extension requires that -- -2.43.0 +2.43.2 diff --git a/0001-window-actor-Special-case-shaped-Java-windows.patch b/0001-window-actor-Special-case-shaped-Java-windows.patch index 36d50b6..51f9ecf 100644 --- a/0001-window-actor-Special-case-shaped-Java-windows.patch +++ b/0001-window-actor-Special-case-shaped-Java-windows.patch @@ -1,4 +1,4 @@ -From 9efcc35102b4c41265e93461b35a1193b3d5822d Mon Sep 17 00:00:00 2001 +From b3b5aa01c63aee1df079e0394b0e6372df1838d0 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 @@ -9,13 +9,15 @@ 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(+) + src/x11/window-x11-private.h | 2 ++ + src/x11/window-x11.c | 9 +++++++++ + 3 files changed, 19 insertions(+) diff --git a/src/compositor/meta-window-actor-x11.c b/src/compositor/meta-window-actor-x11.c -index b7032e0ba..b05d5e158 100644 +index 19827af331..7d5e46ac75 100644 --- a/src/compositor/meta-window-actor-x11.c +++ b/src/compositor/meta-window-actor-x11.c -@@ -528,6 +528,14 @@ has_shadow (MetaWindowActorX11 *actor_x11) +@@ -424,6 +424,14 @@ has_shadow (MetaWindowActorX11 *actor_x11) */ if (window->has_custom_frame_extents) return FALSE; @@ -25,11 +27,44 @@ index b7032e0ba..b05d5e158 100644 + * 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) ++ meta_window_x11_is_shaped (window)) + return FALSE; /* * Generate shadows for all other windows. +diff --git a/src/x11/window-x11-private.h b/src/x11/window-x11-private.h +index c947744ee5..cb862f0d72 100644 +--- a/src/x11/window-x11-private.h ++++ b/src/x11/window-x11-private.h +@@ -125,6 +125,8 @@ gboolean meta_window_x11_has_pointer (MetaWindow *window); + gboolean meta_window_x11_same_application (MetaWindow *window, + MetaWindow *other_window); + ++gboolean meta_window_x11_is_shaped (MetaWindow *window); ++ + void meta_window_x11_shutdown_group (MetaWindow *window); + + META_EXPORT +diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c +index 745c45db18..83cdd2e420 100644 +--- a/src/x11/window-x11.c ++++ b/src/x11/window-x11.c +@@ -2585,6 +2585,15 @@ meta_window_x11_update_shape_region (MetaWindow *window) + meta_window_set_shape_region (window, region); + } + ++gboolean ++meta_window_x11_is_shaped (MetaWindow *window) ++{ ++ MetaWindowX11 *window_x11 = META_WINDOW_X11 (window); ++ MetaWindowX11Private *priv = meta_window_x11_get_instance_private (window_x11); ++ ++ return priv->shape_region != NULL; ++} ++ + /* Generally meta_window_x11_same_application() is a better idea + * of "sameness", since it handles the case where multiple apps + * want to look like the same app or the same app wants to look -- -2.23.0 +2.43.2 diff --git a/mutter.spec b/mutter.spec index 60dab91..0ad3c79 100644 --- a/mutter.spec +++ b/mutter.spec @@ -13,7 +13,7 @@ %global tarball_version %%(echo %{version} | tr '~' '.') Name: mutter -Version: 46~beta +Version: 46~rc Release: %autorelease Summary: Window and compositing manager based on Clutter @@ -169,7 +169,7 @@ the functionality of the installed %{name} package. %autosetup -S git -n %{name}-%{tarball_version} %build -%meson -Degl_device=true -Dwayland_eglstream=true +%meson -Degl_device=true -Dwayland_eglstream=true -Dlibdisplay_info=disabled %meson_build %install diff --git a/sources b/sources index 95a0dd2..f66286b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mutter-46.beta.tar.xz) = de07c00338e43e5a03b3f45609f95aa4b0d0b4635f0233a950fb738b00f7f96550ed3c39779319a562583a08c15fc8c0cfb30f18683706fc02285a0fa5fee1da +SHA512 (mutter-46.rc.tar.xz) = 3a37c73d51206adf70c7fba69643347694b4b8325f4eb18eb45a7845e71468c23ba0ffdcbc3e7c8618a21f399eabad48ee2b84b0471c2961662ea50268017999