From 9c6fe1246e683a11e382f3db424e673306d9a4a3 Mon Sep 17 00:00:00 2001 From: Achill Gilgenast Date: Thu, 20 Aug 2026 16:30:17 +0200 Subject: [PATCH] systemd/mutter: upgrade to 50.4 Part-of: --- extra-repos/systemd/mutter/APKBUILD | 8 +- extra-repos/systemd/mutter/fix-log-spam.patch | 125 ------------------ 2 files changed, 3 insertions(+), 130 deletions(-) delete mode 100644 extra-repos/systemd/mutter/fix-log-spam.patch diff --git a/extra-repos/systemd/mutter/APKBUILD b/extra-repos/systemd/mutter/APKBUILD index b06f4b0de..ad51d3149 100644 --- a/extra-repos/systemd/mutter/APKBUILD +++ b/extra-repos/systemd/mutter/APKBUILD @@ -3,9 +3,9 @@ # Co-Maintainer: Achill Gilgenast maintainer="Stefan Hansson " pkgname=mutter -_pkgver=50.2 +_pkgver=50.4 pkgver=9999$_pkgver -pkgrel=2 +pkgrel=0 pkgdesc="clutter-based window manager and compositor" url="https://gitlab.gnome.org/GNOME/mutter" # armhf: pmb#2618 @@ -78,7 +78,6 @@ subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-lang $pkgname-schem source="https://download.gnome.org/sources/mutter/${_pkgver%%.*}/mutter-$_pkgver.tar.xz fixudev-req.patch pcversion.patch - fix-log-spam.patch " builddir="$srcdir/$pkgname-$_pkgver" @@ -110,8 +109,7 @@ package() { } sha512sums=" -813dff95e762cce19ad8e3ad9d564b4373a89e8a10bf37566b0aefa40a61caf1dda169ba8604e56b037d4daf3a8ca961fd7559348d8b85add1f98c62aee47ea2 mutter-50.2.tar.xz +88c9e5c2e87ca837819f980ededd2834c130dd0a2f31e46dd1561d04138dcafdd63ba72b409e609f7eba80a56b863edbef5647755934ca9deb87670f4a736430 mutter-50.4.tar.xz 60eb075a88ca301470130d17371c1410220be0c7d5a929f6b528ec838a1133ebccf46d29f448060043e94c2edf4615ae431927911bede1972ac37f04ff9f29b4 fixudev-req.patch 52ae70a818ab1bbeeeb1259405c964baf48cd793385fae9200b57b7160cb8094041b2c2336fc57349e562aa142d631c5668a2d0a4dc32f6a6854c0ea2bb0d2c0 pcversion.patch -7c820799a57f02ef02da424a5474c97904a815690b2ccc9f15650e391b1a3f1809db0c806a6f63e9d9e8702f98d70f59ee66451aac65e704b4cc5725954f2195 fix-log-spam.patch " diff --git a/extra-repos/systemd/mutter/fix-log-spam.patch b/extra-repos/systemd/mutter/fix-log-spam.patch deleted file mode 100644 index f26ce71f2..000000000 --- a/extra-repos/systemd/mutter/fix-log-spam.patch +++ /dev/null @@ -1,125 +0,0 @@ -Patch-Source: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5096.patch - -From f1570318ec3e9a38615eb91708bb71628ab8bcfd Mon Sep 17 00:00:00 2001 -From: Carlos Garnacho -Date: Sun, 31 May 2026 11:23:06 +0200 -Subject: [PATCH 1/2] wayland: Only schedule a single cursor location update - -If the cursor is updated multiple times before the state is applied -on the surface, the newer signal handled would overwrite the ID of -the previous. - -We can coalesce these calls and keep just the last value with the -already existing signal handler, add a check to make sure we don't -add a second signal handler if there's one pending already. - -Fixes (harmless) warnings like: - -clutter_input_focus_set_cursor_location: assertion 'CLUTTER_IS_INPUT_FOCUS (focus)' failed - -When a second handler would stumble upon already cleared data. -Easily reproducible when a VTE widget has the IM focus, but there -may be other cases. - -Closes: https://gitlab.gnome.org/GNOME/mutter/-/work_items/4840 -Part-of: ---- - src/wayland/meta-wayland-text-input.c | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) - -diff --git a/src/wayland/meta-wayland-text-input.c b/src/wayland/meta-wayland-text-input.c -index ab635fda71d..a8fe13fa893 100644 ---- a/src/wayland/meta-wayland-text-input.c -+++ b/src/wayland/meta-wayland-text-input.c -@@ -831,8 +831,11 @@ update_cursor_location (MetaWaylandSurface *surface, - { - MetaWaylandTextInput *text_input = user_data; - -- clutter_input_focus_set_cursor_location (text_input->cursor_update.focus, -- &text_input->cursor_update.rect); -+ if (clutter_input_focus_is_focused (text_input->cursor_update.focus)) -+ { -+ clutter_input_focus_set_cursor_location (text_input->cursor_update.focus, -+ &text_input->cursor_update.rect); -+ } - - g_clear_object (&text_input->cursor_update.focus); - graphene_rect_init (&text_input->cursor_update.rect, 0, 0, 0, 0); -@@ -936,10 +939,13 @@ text_input_commit_state (struct wl_client *client, - graphene_rect_init (&text_input->cursor_update.rect, - x1, y1, x2 - x1, y2 - y1); - -- text_input->cursor_update.signal_id = -- g_signal_connect (text_input->surface, "pre-state-applied", -- G_CALLBACK (update_cursor_location), -- text_input); -+ if (text_input->cursor_update.signal_id == 0) -+ { -+ text_input->cursor_update.signal_id = -+ g_signal_connect (text_input->surface, "pre-state-applied", -+ G_CALLBACK (update_cursor_location), -+ text_input); -+ } - } - - if (text_input->pending_state & META_WAYLAND_PENDING_STATE_ACTIONS) --- -GitLab - - -From 61d5d89ac3e86081c49455b74805b01ecaeae714 Mon Sep 17 00:00:00 2001 -From: Carlos Garnacho -Date: Mon, 1 Jun 2026 10:52:07 +0200 -Subject: [PATCH 2/2] wayland: Drop semi-temporary variable - -When scheduling IM cursor rect updates, the ClutterInputFocus -is kept around for the purpose of it being updated along with -wl_surface updates. There's only one ClutterInputFocus though, -from the MetaWaylandTextInput perspective, this intermediate -variable can be dropped. - -Part-of: ---- - src/wayland/meta-wayland-text-input.c | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - -diff --git a/src/wayland/meta-wayland-text-input.c b/src/wayland/meta-wayland-text-input.c -index a8fe13fa893..3f57354005b 100644 ---- a/src/wayland/meta-wayland-text-input.c -+++ b/src/wayland/meta-wayland-text-input.c -@@ -623,8 +623,6 @@ text_input_destructor (struct wl_resource *resource) - g_clear_pointer (&text_input->preedit_style.hints, g_array_unref); - wl_list_remove (wl_resource_get_link (resource)); - reset_text_input_focus (text_input); -- -- g_clear_object (&text_input->cursor_update.focus); - } - - static void -@@ -831,13 +829,12 @@ update_cursor_location (MetaWaylandSurface *surface, - { - MetaWaylandTextInput *text_input = user_data; - -- if (clutter_input_focus_is_focused (text_input->cursor_update.focus)) -+ if (clutter_input_focus_is_focused (text_input->input_focus)) - { -- clutter_input_focus_set_cursor_location (text_input->cursor_update.focus, -+ clutter_input_focus_set_cursor_location (text_input->input_focus, - &text_input->cursor_update.rect); - } - -- g_clear_object (&text_input->cursor_update.focus); - graphene_rect_init (&text_input->cursor_update.rect, 0, 0, 0, 0); - g_clear_signal_handler (&text_input->cursor_update.signal_id, surface); - } -@@ -935,7 +932,6 @@ text_input_commit_state (struct wl_client *client, - rect.y + rect.height, - &x2, &y2); - -- g_set_object (&text_input->cursor_update.focus, focus); - graphene_rect_init (&text_input->cursor_update.rect, - x1, y1, x2 - x1, y2 - y1); - --- -GitLab -