[evolution-data-server/gnome-3-6] Bug #680201 - Backup restore doesn't migrate accounts from GConf



commit 367be5e50a75405ec4b025ab96d8c2de54615a70
Author: Milan Crha <mcrha redhat com>
Date:   Wed Nov 21 19:57:36 2012 +0100

    Bug #680201 - Backup restore doesn't migrate accounts from GConf

 .../evolution-source-registry.c                    |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
---
diff --git a/services/evolution-source-registry/evolution-source-registry.c b/services/evolution-source-registry/evolution-source-registry.c
index bc96819..6aca836 100644
--- a/services/evolution-source-registry/evolution-source-registry.c
+++ b/services/evolution-source-registry/evolution-source-registry.c
@@ -87,7 +87,21 @@ reload:
 	g_object_unref (server);
 
 	if (exit_code == E_DBUS_SERVER_EXIT_RELOAD) {
+		const gchar *config_dir;
+		gchar *dirname;
+
 		g_print ("Reloading...\n");
+
+		/* It's possible the Reload is called after restore, where
+		   the ~/.config/evolution/sources directory can be missing,
+		   thus create it, because e_server_side_source_get_user_dir()
+		   may have its static variable already set to non-NULL value.
+		*/
+		config_dir = e_get_user_config_dir ();
+		dirname = g_build_filename (config_dir, "sources", NULL);
+		g_mkdir_with_parents (dirname, 0700);
+		g_free (dirname);
+
 		goto reload;
 	}
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]