Blame SOURCES/0001-core-Hide-close-dialog-before-destroying.patch

8156c2
From b5b252af2580c8dad8097037481963f93babfba7 Mon Sep 17 00:00:00 2001
8156c2
From: Carlos Garnacho <carlosg@gnome.org>
8156c2
Date: Wed, 6 Jun 2018 13:26:55 +0200
8156c2
Subject: [PATCH] core: Hide close dialog before destroying
8156c2
8156c2
The MetaCloseDialog implementation object may stay artifically alive
8156c2
for a longer period. This was usually fine till gnome-shell commit
8156c2
b03bcc85aad, as the check_alive() timeout will keep running even
8156c2
though the window went unmanaged/destroyed, leading to crashes.
8156c2
8156c2
In order to fix this, forcibly hide the dialog if it is visible and
8156c2
the window is being unmanaged, so the timeout is stopped in time.
8156c2
---
8156c2
 src/core/delete.c | 3 +++
8156c2
 1 file changed, 3 insertions(+)
8156c2
8156c2
diff --git a/src/core/delete.c b/src/core/delete.c
8156c2
index af7cffed9..fd94dc6ca 100644
8156c2
--- a/src/core/delete.c
8156c2
+++ b/src/core/delete.c
8156c2
@@ -115,5 +115,8 @@ meta_window_kill (MetaWindow *window)
8156c2
 void
8156c2
 meta_window_free_delete_dialog (MetaWindow *window)
8156c2
 {
8156c2
+  if (window->close_dialog &&
8156c2
+      meta_close_dialog_is_visible (window->close_dialog))
8156c2
+    meta_close_dialog_hide (window->close_dialog);
8156c2
   g_clear_object (&window->close_dialog);
8156c2
 }
8156c2
-- 
8156c2
2.25.1
8156c2