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.
This commit is contained in:
parent
69ca584168
commit
6abe4703c7
@ -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