Preserve state of extensions when using the crash dialog
This commit is contained in:
parent
97b31b23be
commit
e58aa161c6
1 changed files with 20 additions and 7 deletions
|
@ -182,6 +182,7 @@ settings_save_to_file (MidoriWebSettings* settings,
|
||||||
gboolean saved;
|
gboolean saved;
|
||||||
KatzeArray* extensions = katze_object_get_object (app, "extensions");
|
KatzeArray* extensions = katze_object_get_object (app, "extensions");
|
||||||
MidoriExtension* extension;
|
MidoriExtension* extension;
|
||||||
|
gchar** _extensions;
|
||||||
|
|
||||||
key_file = g_key_file_new ();
|
key_file = g_key_file_new ();
|
||||||
class = G_OBJECT_GET_CLASS (settings);
|
class = G_OBJECT_GET_CLASS (settings);
|
||||||
|
@ -239,12 +240,24 @@ settings_save_to_file (MidoriWebSettings* settings,
|
||||||
}
|
}
|
||||||
g_free (pspecs);
|
g_free (pspecs);
|
||||||
|
|
||||||
|
if (extensions)
|
||||||
|
{
|
||||||
i = 0;
|
i = 0;
|
||||||
while ((extension = katze_array_get_nth_item (extensions, i++)))
|
while ((extension = katze_array_get_nth_item (extensions, i++)))
|
||||||
if (midori_extension_is_active (extension))
|
if (midori_extension_is_active (extension))
|
||||||
g_key_file_set_boolean (key_file, "extensions",
|
g_key_file_set_boolean (key_file, "extensions",
|
||||||
g_object_get_data (G_OBJECT (extension), "filename"), TRUE);
|
g_object_get_data (G_OBJECT (extension), "filename"), TRUE);
|
||||||
g_object_unref (extensions);
|
g_object_unref (extensions);
|
||||||
|
}
|
||||||
|
else if ((_extensions = g_object_get_data (G_OBJECT (app), "extensions")))
|
||||||
|
{
|
||||||
|
i = 0;
|
||||||
|
while (_extensions[i])
|
||||||
|
{
|
||||||
|
g_key_file_set_boolean (key_file, "extensions", _extensions[i], TRUE);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
saved = sokoke_key_file_save_to_file (key_file, filename, error);
|
saved = sokoke_key_file_save_to_file (key_file, filename, error);
|
||||||
g_key_file_free (key_file);
|
g_key_file_free (key_file);
|
||||||
|
@ -1910,6 +1923,7 @@ main (int argc,
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
g_object_set_data (G_OBJECT (app), "extensions", extensions);
|
||||||
/* We test for the presence of a dummy file which is created once
|
/* We test for the presence of a dummy file which is created once
|
||||||
and deleted during normal runtime, but persists in case of a crash. */
|
and deleted during normal runtime, but persists in case of a crash. */
|
||||||
katze_assign (config_file, build_config_filename ("running"));
|
katze_assign (config_file, build_config_filename ("running"));
|
||||||
|
@ -1939,7 +1953,6 @@ main (int argc,
|
||||||
G_CALLBACK (midori_app_add_browser_cb), NULL);
|
G_CALLBACK (midori_app_add_browser_cb), NULL);
|
||||||
|
|
||||||
g_idle_add (midori_load_cookie_jar, settings);
|
g_idle_add (midori_load_cookie_jar, settings);
|
||||||
g_object_set_data (G_OBJECT (app), "extensions", extensions);
|
|
||||||
g_idle_add (midori_load_extensions, app);
|
g_idle_add (midori_load_extensions, app);
|
||||||
katze_item_set_parent (KATZE_ITEM (_session), app);
|
katze_item_set_parent (KATZE_ITEM (_session), app);
|
||||||
g_idle_add (midori_load_session, _session);
|
g_idle_add (midori_load_session, _session);
|
||||||
|
|
Loading…
Reference in a new issue