[Xfce4-commits] <midori:master> Initialize session in app/ private before adding URIs
Christian Dywan
noreply at xfce.org
Wed Jul 27 01:26:02 CEST 2011
Updating branch refs/heads/master
to 3fc44b6fdca37c307e7254fca4c42d51f11c2230 (commit)
from f2d1959e733a7f5e104321ffbd92cf3cc86bda71 (commit)
commit 3fc44b6fdca37c307e7254fca4c42d51f11c2230
Author: Christian Dywan <christian at twotoasts.de>
Date: Wed Jul 27 01:19:48 2011 +0200
Initialize session in app/ private before adding URIs
If the session is not prepared properly URIs loading of
the first page(s) breaks. Also it is a good idea to sort
out all settings before loading anything to begin with.
You will now see "midori_load_soup_session was not called!" if
any pages try to load before the session is prepared.
Fixes: https://bugs.launchpad.net/midori/+bug/814268
midori/main.c | 53 ++++++++++++++++++++++++----------------------
midori/midori-browser.c | 4 +++
2 files changed, 32 insertions(+), 25 deletions(-)
diff --git a/midori/main.c b/midori/main.c
index 3afa9c2..004906c 100644
--- a/midori/main.c
+++ b/midori/main.c
@@ -1021,6 +1021,8 @@ midori_load_soup_session (gpointer settings)
midori_soup_session_debug (session);
+ g_object_set_data (G_OBJECT (session), "midori-session-initialized", (void*)1);
+
return FALSE;
}
@@ -2170,25 +2172,6 @@ main (int argc,
else
settings = g_object_ref (midori_browser_get_settings (browser));
- if (webapp)
- {
- gchar* tmp_uri = midori_prepare_uri (webapp);
- g_object_set (settings,
- "show-menubar", FALSE,
- "show-navigationbar", FALSE,
- "toolbar-items", "Back,Forward,ReloadStop,Location,Homepage",
- "homepage", tmp_uri,
- "show-statusbar", FALSE,
- "enable-developer-extras", FALSE,
- NULL);
- midori_browser_set_action_visible (browser, "Menubar", FALSE);
- midori_browser_add_uri (browser, tmp_uri);
- g_free (tmp_uri);
- /* Update window icon according to page */
- g_signal_connect (browser, "notify::load-status",
- G_CALLBACK (midori_web_app_browser_notify_load_status_cb), NULL);
- }
-
if (private)
{
g_object_set (settings,
@@ -2211,7 +2194,32 @@ main (int argc,
sokoke_set_config_dir ("/");
}
- g_object_set (settings, "show-panel", FALSE,
+ midori_load_soup_session (settings);
+ if (block_uris)
+ g_signal_connect (session, "request-queued",
+ G_CALLBACK (midori_soup_session_block_uris_cb),
+ g_strdup (block_uris));
+
+ if (webapp)
+ {
+ gchar* tmp_uri = midori_prepare_uri (webapp);
+ g_object_set (settings,
+ "show-menubar", FALSE,
+ "show-navigationbar", FALSE,
+ "toolbar-items", "Back,Forward,ReloadStop,Location,Homepage",
+ "homepage", tmp_uri,
+ "show-statusbar", FALSE,
+ "enable-developer-extras", FALSE,
+ NULL);
+ midori_browser_set_action_visible (browser, "Menubar", FALSE);
+ midori_browser_add_uri (browser, tmp_uri);
+ g_free (tmp_uri);
+ /* Update window icon according to page */
+ g_signal_connect (browser, "notify::load-status",
+ G_CALLBACK (midori_web_app_browser_notify_load_status_cb), NULL);
+ }
+
+ g_object_set (settings, "show-panel", FALSE,
"last-window-state", MIDORI_WINDOW_NORMAL,
NULL);
midori_browser_set_action_visible (browser, "Panel", FALSE);
@@ -2242,12 +2250,7 @@ main (int argc,
if (midori_browser_get_current_uri (browser) == NULL)
midori_browser_add_uri (browser, "about:blank");
- if (block_uris)
- g_signal_connect (session, "request-queued",
- G_CALLBACK (midori_soup_session_block_uris_cb),
- g_strdup (block_uris));
midori_setup_inactivity_reset (browser, inactivity_reset, webapp);
- midori_load_soup_session (settings);
midori_startup_timer ("App created: \t%f");
gtk_main ();
return 0;
diff --git a/midori/midori-browser.c b/midori/midori-browser.c
index aafa450..a67fc05 100644
--- a/midori/midori-browser.c
+++ b/midori/midori-browser.c
@@ -6819,6 +6819,10 @@ midori_browser_add_tab (MidoriBrowser* browser,
g_return_val_if_fail (MIDORI_IS_BROWSER (browser), -1);
g_return_val_if_fail (GTK_IS_WIDGET (view), -1);
+ if (!g_object_get_data (G_OBJECT (webkit_get_default_session ()),
+ "midori-session-initialized"))
+ g_critical ("midori_load_soup_session was not called!");
+
g_signal_emit (browser, signals[ADD_TAB], 0, view);
return gtk_notebook_page_num (GTK_NOTEBOOK (browser->notebook), view);
}
More information about the Xfce4-commits
mailing list