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 6abe4703c7
)
This commit is contained in:
parent
4ca83f3c47
commit
17ae09ad3f
@ -115,5 +115,8 @@ meta_window_kill (MetaWindow *window)
|
|||||||
void
|
void
|
||||||
meta_window_free_delete_dialog (MetaWindow *window)
|
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);
|
g_clear_object (&window->close_dialog);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user