shell/app: Only release window ref when we are done
We hold a reference to all windows we track for the app. While that reference is unlikely to be the last remaining one, we still shouldn't release it until we are done with the window. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1761>
This commit is contained in:
parent
07a819f62b
commit
0cf22f4a1b
@ -1115,13 +1115,14 @@ _shell_app_remove_window (ShellApp *app,
|
||||
g_signal_handlers_disconnect_by_func (window, G_CALLBACK(shell_app_on_unmanaged), app);
|
||||
g_signal_handlers_disconnect_by_func (window, G_CALLBACK(shell_app_on_user_time_changed), app);
|
||||
g_signal_handlers_disconnect_by_func (window, G_CALLBACK(shell_app_on_skip_taskbar_changed), app);
|
||||
g_object_unref (window);
|
||||
app->running_state->windows = g_slist_remove (app->running_state->windows, window);
|
||||
|
||||
if (!meta_window_is_skip_taskbar (window))
|
||||
app->running_state->interesting_windows--;
|
||||
shell_app_sync_running_state (app);
|
||||
|
||||
g_object_unref (window);
|
||||
|
||||
if (app->running_state->windows == NULL)
|
||||
g_clear_pointer (&app->running_state, unref_running_state);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user