diff --git a/0001-clutter-actor-Don-t-emit-focus-signals-during-destru.patch b/0001-clutter-actor-Don-t-emit-focus-signals-during-destru.patch new file mode 100644 index 0000000..8b0e10c --- /dev/null +++ b/0001-clutter-actor-Don-t-emit-focus-signals-during-destru.patch @@ -0,0 +1,34 @@ +From 47d16c100d481393f1be511b661b12ba4e81a5b2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Wed, 2 Jun 2021 16:24:25 +0200 +Subject: [PATCH] clutter/actor: Don't emit focus signals during destruction + +We rightfully unset the stage focus when the focus actor is destroyed, +which in turns results in the ClutterActor::-key-focus-out signal being +emitted on an actor that is no longer fully valid. + +Avoid that emission, so consumers don't have to deal with half-disposed +actors in their handler. + +https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4324 +--- + clutter/clutter/clutter-actor.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c +index ce0c5ed32..989e479a8 100644 +--- a/clutter/clutter/clutter-actor.c ++++ b/clutter/clutter/clutter-actor.c +@@ -14584,6 +14584,9 @@ _clutter_actor_set_has_key_focus (ClutterActor *self, + { + priv->has_key_focus = has_key_focus; + ++ if (CLUTTER_ACTOR_IN_DESTRUCTION (self)) ++ return; ++ + if (has_key_focus) + g_signal_emit (self, actor_signals[KEY_FOCUS_IN], 0); + else +-- +2.31.1 + diff --git a/mutter.spec b/mutter.spec index 6b6f47d..3d3ab33 100644 --- a/mutter.spec +++ b/mutter.spec @@ -10,7 +10,7 @@ Name: mutter Version: 40.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Window and compositing manager based on Clutter License: GPLv2+ @@ -26,6 +26,9 @@ Patch1: 0001-Revert-build-Do-not-provide-built-sources-as-libmutt.patch # Workaround for RHBZ#1936991 (blocks atomic KMS on "tegra" driver) Patch2: 0001-Test-deny-atomic-KMS-for-tegra-RHBZ-1936991.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1964386 +Patch3: 0001-clutter-actor-Don-t-emit-focus-signals-during-destru.patch + BuildRequires: chrpath BuildRequires: pango-devel BuildRequires: startup-notification-devel @@ -168,6 +171,10 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop %{_datadir}/mutter-%{mutter_api_version}/tests %changelog +* Wed Jun 02 2021 Florian Müllner - 40.1-2 +- Don't emit ::key-focus-out on destroyed actors + Resolves: #1964386 + * Thu May 14 2021 Florian Müllner - 40.1-1 - Update to 40.1 Resolves: #1951146