From c171ea12df5cea7ba1300c9d0b2c5dfa8bdedcd6 Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Sun, 7 Nov 2010 20:51:25 +0100 Subject: [PATCH] Transition the ShellApp state when ready. shell_app_state_transition emits a signal, so invoke it only when ready, or signal handlers will see an object which is in an invalid state. https://bugzilla.gnome.org/show_bug.cgi?id=632501 --- src/shell-app.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/shell-app.c b/src/shell-app.c index fae61c4d4..d685be225 100644 --- a/src/shell-app.c +++ b/src/shell-app.c @@ -739,9 +739,6 @@ _shell_app_add_window (ShellApp *app, g_object_freeze_notify (G_OBJECT (app)); - if (app->state != SHELL_APP_STATE_STARTING) - shell_app_state_transition (app, SHELL_APP_STATE_RUNNING); - if (!app->running_state) create_running_state (app); @@ -754,6 +751,9 @@ _shell_app_add_window (ShellApp *app, if (user_time > app->running_state->last_user_time) app->running_state->last_user_time = user_time; + if (app->state != SHELL_APP_STATE_STARTING && app->state != SHELL_APP_STATE_RUNNING) + shell_app_state_transition (app, SHELL_APP_STATE_RUNNING); + g_object_thaw_notify (G_OBJECT (app)); g_signal_emit (app, shell_app_signals[WINDOWS_CHANGED], 0);