diff --git a/SOURCES/0001-core-Hide-close-dialog-before-destroying.patch b/SOURCES/0001-core-Hide-close-dialog-before-destroying.patch new file mode 100644 index 0000000..8d0e542 --- /dev/null +++ b/SOURCES/0001-core-Hide-close-dialog-before-destroying.patch @@ -0,0 +1,32 @@ +From b5b252af2580c8dad8097037481963f93babfba7 Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho +Date: Wed, 6 Jun 2018 13:26:55 +0200 +Subject: [PATCH] core: Hide close dialog before destroying + +The MetaCloseDialog implementation object may stay artifically alive +for a longer period. This was usually fine till gnome-shell commit +b03bcc85aad, as the check_alive() timeout will keep running even +though the window went unmanaged/destroyed, leading to crashes. + +In order to fix this, forcibly hide the dialog if it is visible and +the window is being unmanaged, so the timeout is stopped in time. +--- + src/core/delete.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/core/delete.c b/src/core/delete.c +index af7cffed9..fd94dc6ca 100644 +--- a/src/core/delete.c ++++ b/src/core/delete.c +@@ -115,5 +115,8 @@ meta_window_kill (MetaWindow *window) + void + meta_window_free_delete_dialog (MetaWindow *window) + { ++ if (window->close_dialog && ++ meta_close_dialog_is_visible (window->close_dialog)) ++ meta_close_dialog_hide (window->close_dialog); + g_clear_object (&window->close_dialog); + } +-- +2.25.1 + diff --git a/SPECS/mutter.spec b/SPECS/mutter.spec index 40c5616..7c8e110 100644 --- a/SPECS/mutter.spec +++ b/SPECS/mutter.spec @@ -10,7 +10,7 @@ Name: mutter Version: 3.28.3 -Release: 21%{?dist} +Release: 22%{?dist} Summary: Window and compositing manager based on Clutter License: GPLv2+ @@ -109,10 +109,11 @@ Patch281: more-performance-backports.patch Patch282: idle-monitor-reset-fix.patch # Prevent orphaned animation actors getting stuck on screen (#1753799) -Patch 283: 0001-window-free-close-dialog-before-unmanaging-window-fr.patch +Patch283: 0001-window-free-close-dialog-before-unmanaging-window-fr.patch +Patch284: 0001-core-Hide-close-dialog-before-destroying.patch # Add PING_TIMEOUT_DELAY to mutter MetaPreferences #1809164 -Patch284: 0001-display-Make-check-alive-timeout-configureable.patch +Patch285: 0001-display-Make-check-alive-timeout-configureable.patch BuildRequires: chrpath BuildRequires: pango-devel @@ -269,6 +270,10 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %{_libdir}/pkgconfig/* %changelog +* Fri Mar 06 2020 Florian Müllner - 3.28.3-22 +- Include one more close-dialog backport + Related: #1753799 + * Thu Mar 05 2020 Jonas Ådahl ) - 3.28.3-21 - Add PING_TIMEOUT_DELAY to mutter MetaPreferences Resolves: #1809164