window: free close dialog before unmanaging window from compositor
When an application stops responding, the shell darkens its windows. If a window from a not-responding application gets unmanaged then the shell will currently throw an exception trying to retrieve the now-dissociated window actor. That leads to a "stuck window" ghost on screen and a traceback in the log. This commit addresses the problem by making sure the effect is cleaned up before the actor is disocciated from its window. https://gitlab.gnome.org/GNOME/mutter/issues/575
This commit is contained in:
parent
eccf7b105c
commit
502da973eb
@ -1427,6 +1427,8 @@ meta_window_unmanage (MetaWindow *window,
|
||||
if (window->unmanage_idle_id)
|
||||
g_source_remove (window->unmanage_idle_id);
|
||||
|
||||
meta_window_free_delete_dialog (window);
|
||||
|
||||
#ifdef HAVE_WAYLAND
|
||||
/* This needs to happen for both Wayland and XWayland clients,
|
||||
* so it can't be in MetaWindowWayland. */
|
||||
@ -1549,7 +1551,6 @@ meta_window_unmanage (MetaWindow *window,
|
||||
meta_window_unqueue (window, META_QUEUE_CALC_SHOWING |
|
||||
META_QUEUE_MOVE_RESIZE |
|
||||
META_QUEUE_UPDATE_ICON);
|
||||
meta_window_free_delete_dialog (window);
|
||||
|
||||
set_workspace_state (window, FALSE, NULL);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user