[mutter/gnome-3-28] core: Hide close dialog before destroying



commit 17ae09ad3fa818d0c88695f6d6fbf0d149423041
Author: Carlos Garnacho <carlosg gnome org>
Date:   Wed Jun 6 11:26:55 2018 +0000

    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.
    
    
    (cherry picked from commit 6abe4703c7b4e24dbdd59631fe1eed637b84d12c)

 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);
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]