diff options
author | Milan Crha <mcrha@redhat.com> | 2012-11-21 19:56:44 +0100 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2012-11-21 19:56:44 +0100 |
commit | 3e17608ba5aa917e65af5eb9afbfe5c40b56252a (patch) | |
tree | 71266f5a68ae55a33202b2509ba3c3c31256f7bb /services | |
parent | b245b5be15b3170811bff46601ba8c2a7cb69626 (diff) | |
download | evolution-data-server-3e17608ba5aa917e65af5eb9afbfe5c40b56252a.tar.gz |
Bug #680201 - Backup restore doesn't migrate accounts from GConf
Diffstat (limited to 'services')
-rw-r--r-- | services/evolution-source-registry/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 bc9681902..6aca8369e 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; } |