diff options
Diffstat (limited to 'src/ephy-shell.c')
-rw-r--r-- | src/ephy-shell.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/ephy-shell.c b/src/ephy-shell.c index 4b9bd1993..26eb28a61 100644 --- a/src/ephy-shell.c +++ b/src/ephy-shell.c @@ -47,7 +47,6 @@ #include "print-dialog.h" #include "ephy-prefs.h" #include "ephy-gui.h" -#include "ephy-object-helpers.h" #ifdef ENABLE_DBUS #include "ephy-dbus.h" @@ -481,8 +480,13 @@ ephy_shell_startup (EphyShell *shell, "from Bonobo when attempting to locate the automation " "object.")); automation = NULL; + goto done; } - else if (flags & EPHY_SHELL_STARTUP_BOOKMARKS_EDITOR) + + /* init the session manager up here so we can quit while the resume dialogue is on */ + gnome_session_init (shell); + + if (flags & EPHY_SHELL_STARTUP_BOOKMARKS_EDITOR) { GNOME_EphyAutomation_openBookmarksEditorWithStartupId (automation, user_time, &ev); @@ -510,14 +514,10 @@ ephy_shell_startup (EphyShell *shell, flags & EPHY_SHELL_STARTUP_FULLSCREEN); } - if (automation) - { - bonobo_object_release_unref (automation, &ev); - } - - gnome_session_init (shell); + bonobo_object_release_unref (automation, &ev); } +done: CORBA_exception_free (&ev); gdk_notify_startup_complete (); @@ -941,8 +941,7 @@ toolwindow_hide_cb (GtkWidget *widget, EphyShell *es) session = EPHY_SESSION (ephy_shell_get_session (es)); ephy_session_remove_window (ephy_shell->priv->session, GTK_WINDOW (widget)); - - ephy_object_idle_unref (ephy_shell); + g_object_unref (ephy_shell); } GtkWidget * |