--- /dev/null
+From 7f549b89a9e9939a7888d9e4ede628ef9c80df80 Mon Sep 17 00:00:00 2001
+From: Christian Dywan <christian@twotoasts.de>
+Date: Fri, 20 May 2011 19:58:35 +0000
+Subject: Handle missing speedial.json and missing shortcuts array
+
+---
+diff --git a/midori/main.c b/midori/main.c
+index 007b03f..c6b8568 100644
+--- a/midori/main.c
++++ b/midori/main.c
+@@ -1605,7 +1605,12 @@ speeddial_new_from_file (const gchar* config,
+ }
+
+ katze_assign (config_file, g_build_filename (config, "speeddial.json", NULL));
+- g_file_get_contents (config_file, &json_content, &json_length, NULL);
++ if (!g_file_get_contents (config_file, &json_content, &json_length, NULL))
++ {
++ katze_assign (json_content, g_strdup ("'{}'"));
++ json_length = strlen ("'{}'");
++ }
++
+ script = g_string_sized_new (json_length);
+ g_string_append (script, "var json = JSON.parse (");
+ g_string_append_len (script, json_content, json_length);
+@@ -1619,7 +1624,7 @@ speeddial_new_from_file (const gchar* config,
+ " + 'title=' + tile['title'] + '\\n\\n';"
+ "} "
+ "var columns = json['width'] ? json['width'] : 3;"
+- "var rows = json['shortcuts'].length / columns;"
++ "var rows = json['shortcuts'] ? json['shortcuts'].length / columns : 0;"
+ "keyfile += '[settings]\\n'"
+ " + 'columns=' + columns + '\\n'"
+ " + 'rows=' + (rows > 3 ? rows : 3) + '\\n\\n';"
+--
+cgit