systemd/mutter: upgrade to 50.4
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9413>
This commit is contained in:
@@ -3,9 +3,9 @@
|
||||
# Co-Maintainer: Achill Gilgenast <achill@achill.org>
|
||||
maintainer="Stefan Hansson <newbyte@postmarketos.org>"
|
||||
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
|
||||
"
|
||||
|
||||
@@ -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 <carlosg@gnome.org>
|
||||
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: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5096>
|
||||
---
|
||||
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 <carlosg@gnome.org>
|
||||
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: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5096>
|
||||
---
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user