summaryrefslogtreecommitdiff
path: root/services
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2015-03-05 22:03:45 +0100
committerMilan Crha <mcrha@redhat.com>2015-03-05 22:03:45 +0100
commit9d11edc5d1136ff1e27f6c8cafa613d677e02981 (patch)
tree8338c8843436a4c4aed04a038848a2404a58afdf /services
parent55561178749fd65cbbd0711dd9e0e4845f8cc51d (diff)
downloadevolution-data-server-9d11edc5d1136ff1e27f6c8cafa613d677e02981.tar.gz
Bug 723614 - Restore from GConf only once
Diffstat (limited to 'services')
-rw-r--r--services/evolution-source-registry/evolution-source-registry.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/services/evolution-source-registry/evolution-source-registry.c b/services/evolution-source-registry/evolution-source-registry.c
index 96a8c860c..3b2208b7c 100644
--- a/services/evolution-source-registry/evolution-source-registry.c
+++ b/services/evolution-source-registry/evolution-source-registry.c
@@ -145,6 +145,7 @@ main (gint argc,
GOptionContext *context;
EDBusServer *server;
EDBusServerExitCode exit_code;
+ GSettings *settings;
GError *error = NULL;
#ifdef G_OS_WIN32
@@ -176,7 +177,11 @@ main (gint argc,
reload:
- if (!opt_disable_migration) {
+ settings = g_settings_new ("org.gnome.evolution-data-server");
+
+ if (!opt_disable_migration && !g_settings_get_boolean (settings, "migrated")) {
+ g_settings_set_boolean (settings, "migrated", TRUE);
+
/* Migrate user data from ~/.evolution to XDG base directories. */
evolution_source_registry_migrate_basedir ();
@@ -184,8 +189,14 @@ reload:
* Do this AFTER XDG base directory migration since the key
* files are saved according to XDG base directory settings. */
evolution_source_registry_migrate_sources ();
+ } else if (opt_disable_migration) {
+ e_source_registry_debug_print (" * Skipping old account data migration, disabled on command line\n");
+ } else {
+ e_source_registry_debug_print (" * Skipping old account data migration, already migrated\n");
}
+ g_object_unref (settings);
+
server = e_source_registry_server_new ();
g_signal_connect (