diff options
-rw-r--r-- | src/ephy-main.c | 5 | ||||
-rw-r--r-- | src/ephy-shell.c | 9 | ||||
-rw-r--r-- | src/ephy-shell.h | 2 | ||||
-rw-r--r-- | tests/ephy-download.c | 2 | ||||
-rw-r--r-- | tests/ephy-embed-single.c | 2 |
5 files changed, 12 insertions, 8 deletions
diff --git a/src/ephy-main.c b/src/ephy-main.c index 86d1f2160..98bde4f3e 100644 --- a/src/ephy-main.c +++ b/src/ephy-main.c @@ -417,9 +417,10 @@ main (int argc, g_setenv ("XLIB_SKIP_ARGB_VISUALS", "1", FALSE); /* Now create the shell */ - _ephy_shell_create_instance (); + application = ephy_application_new (); + _ephy_shell_create_instance (application); + g_object_unref (application); - application = ephy_shell_get_application (ephy_shell_get_default()); if (private_instance) { GApplicationFlags flags; diff --git a/src/ephy-shell.c b/src/ephy-shell.c index 1de265b6a..5ebd1f21c 100644 --- a/src/ephy-shell.c +++ b/src/ephy-shell.c @@ -202,8 +202,6 @@ ephy_shell_init (EphyShell *shell) ephy_shell = shell; g_object_add_weak_pointer (G_OBJECT(ephy_shell), (gpointer *)ptr); - - shell->priv->application = ephy_application_new (); } static void @@ -815,7 +813,7 @@ ephy_shell_get_application (EphyShell *shell) } void -_ephy_shell_create_instance (void) +_ephy_shell_create_instance (EphyApplication *application) { g_assert (ephy_shell == NULL); @@ -823,4 +821,9 @@ _ephy_shell_create_instance (void) /* FIXME weak ref */ g_assert (ephy_shell != NULL); + + if (application) + ephy_shell->priv->application = g_object_ref (application); + else + ephy_shell->priv->application = ephy_application_new (); } diff --git a/src/ephy-shell.h b/src/ephy-shell.h index 18d6aab74..100356443 100644 --- a/src/ephy-shell.h +++ b/src/ephy-shell.h @@ -130,7 +130,7 @@ GObject *ephy_shell_get_prefs_dialog (EphyShell *shell); EphyApplication *ephy_shell_get_application (EphyShell *shell); /* private API */ -void _ephy_shell_create_instance (void); +void _ephy_shell_create_instance (EphyApplication *application); G_END_DECLS diff --git a/tests/ephy-download.c b/tests/ephy-download.c index 14fe81a2d..ed9144ed7 100644 --- a/tests/ephy-download.c +++ b/tests/ephy-download.c @@ -173,7 +173,7 @@ main (int argc, char *argv[]) ephy_debug_init (); ephy_embed_prefs_init (); - _ephy_shell_create_instance (); + _ephy_shell_create_instance (NULL); if (!ephy_file_helpers_init (NULL, TRUE, FALSE, NULL)) { g_debug ("Something wrong happened with ephy_file_helpers_init()"); diff --git a/tests/ephy-embed-single.c b/tests/ephy-embed-single.c index 200a2fd2d..9e15e9ae3 100644 --- a/tests/ephy-embed-single.c +++ b/tests/ephy-embed-single.c @@ -101,7 +101,7 @@ main (int argc, char *argv[]) ephy_debug_init (); ephy_embed_prefs_init (); - _ephy_shell_create_instance (); + _ephy_shell_create_instance (NULL); if (!ephy_file_helpers_init (NULL, TRUE, FALSE, NULL)) { g_debug ("Something wrong happened with ephy_file_helpers_init()"); |