aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXan Lopez <xlopez@igalia.com>2011-06-29 04:56:08 +0800
committerXan Lopez <xlopez@igalia.com>2011-06-29 20:53:01 +0800
commitf939f5ce3406a77b500e821815352d22ff410ab7 (patch)
tree2d47cc4280158c5410da31b8a1543fe51100864a
parentbd14d50456be46422d955a4290fb27e964a0b5b2 (diff)
downloadgsoc2013-epiphany-f939f5ce3406a77b500e821815352d22ff410ab7.tar
gsoc2013-epiphany-f939f5ce3406a77b500e821815352d22ff410ab7.tar.gz
gsoc2013-epiphany-f939f5ce3406a77b500e821815352d22ff410ab7.tar.bz2
gsoc2013-epiphany-f939f5ce3406a77b500e821815352d22ff410ab7.tar.lz
gsoc2013-epiphany-f939f5ce3406a77b500e821815352d22ff410ab7.tar.xz
gsoc2013-epiphany-f939f5ce3406a77b500e821815352d22ff410ab7.tar.zst
gsoc2013-epiphany-f939f5ce3406a77b500e821815352d22ff410ab7.zip
Require an EphyApplication parameter when creating an EphyShell
We'll want to create our own in main(), this prepares us for that.
-rw-r--r--src/ephy-main.c5
-rw-r--r--src/ephy-shell.c9
-rw-r--r--src/ephy-shell.h2
-rw-r--r--tests/ephy-download.c2
-rw-r--r--tests/ephy-embed-single.c2
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()");