summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Stösel <andre@stoesel.de>2014-01-13 17:20:54 -0500
committerRabbitBot <>2014-01-13 17:20:54 -0500
commit086812c66441666e7a098723bf90896c22831d0b (patch)
tree04c6c018a1771a5ab168c98ac93c8dd1679130f9
parent95e71a2dd4ba1079ee1e1132bde20fb73040a568 (diff)
parent56c507a384036f9a42c2401d4ec745304a67750c (diff)
downloadmidori-086812c66441666e7a098723bf90896c22831d0b.tar.gz
delay tab loading after midori crashed
-rw-r--r--extensions/tabby.vala5
-rw-r--r--midori/midori-app.c11
-rw-r--r--midori/midori.vapi1
3 files changed, 16 insertions, 1 deletions
diff --git a/extensions/tabby.vala b/extensions/tabby.vala
index 4761e0a8..13fa9a6a 100644
--- a/extensions/tabby.vala
+++ b/extensions/tabby.vala
@@ -170,6 +170,11 @@ namespace Tabby {
APP.settings.get ("load-on-startup", out load_on_startup);
should_delay = load_on_startup == Midori.MidoriStartup.DELAYED_PAGES;
+ if (APP.crashed == true) {
+ delay = true;
+ should_delay = true;
+ }
+
this.state = SessionState.RESTORING;
GLib.Idle.add (() => {
diff --git a/midori/midori-app.c b/midori/midori-app.c
index 7e3162e7..8d6d177c 100644
--- a/midori/midori-app.c
+++ b/midori/midori-app.c
@@ -615,6 +615,11 @@ midori_app_get_name (MidoriApp* app)
gboolean
midori_app_get_crashed (MidoriApp* app)
{
+ static gint cache = -1;
+
+ if (cache != -1)
+ return (gboolean) cache;
+
if (!midori_paths_is_readonly ())
{
/* We test for the presence of a dummy file which is created once
@@ -624,10 +629,14 @@ midori_app_get_crashed (MidoriApp* app)
if (!crashed)
g_file_set_contents (config_file, "RUNNING", -1, NULL);
g_free (config_file);
- if (crashed)
+ if (crashed) {
+ cache = 1;
return TRUE;
+ }
}
+ cache = 0;
+
return FALSE;
}
diff --git a/midori/midori.vapi b/midori/midori.vapi
index 0d26bd7b..da71b207 100644
--- a/midori/midori.vapi
+++ b/midori/midori.vapi
@@ -51,6 +51,7 @@ namespace Midori {
[NoAccessorMethod]
public Katze.Array browsers { get; }
public Browser? browser { get; }
+ public bool crashed { get; }
[HasEmitter]
public signal void add_browser (Browser browser);