[gnome-shell/gnome-3-38] shell/app: Only release window ref when we are done
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/gnome-3-38] shell/app: Only release window ref when we are done
- Date: Mon, 15 Mar 2021 19:43:48 +0000 (UTC)
commit b5687374fce18f459702d82bd123b2c23401836a
Author: Florian Müllner <fmuellner gnome org>
Date: Sun Mar 14 00:10:56 2021 +0100
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>
(cherry picked from commit 0cf22f4a1b172763c7c98e86ff3f4064305bba40)
src/shell-app.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
---
diff --git a/src/shell-app.c b/src/shell-app.c
index 6cf4cbaf6a..78d5174997 100644
--- a/src/shell-app.c
+++ b/src/shell-app.c
@@ -1111,13 +1111,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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]