aboutsummaryrefslogtreecommitdiffstats
path: root/shell/main.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2013-03-25 07:28:50 +0800
committerMatthew Barnes <mbarnes@redhat.com>2013-03-25 08:06:49 +0800
commit1723ee09122a8e137e78ed301f2706eefb281adf (patch)
tree32839933e0894443b4091a63748ddcbce30987a4 /shell/main.c
parent4a32f924be0343bdf3afae9f14482ab651e8ccf8 (diff)
downloadgsoc2013-evolution-1723ee09122a8e137e78ed301f2706eefb281adf.tar
gsoc2013-evolution-1723ee09122a8e137e78ed301f2706eefb281adf.tar.gz
gsoc2013-evolution-1723ee09122a8e137e78ed301f2706eefb281adf.tar.bz2
gsoc2013-evolution-1723ee09122a8e137e78ed301f2706eefb281adf.tar.lz
gsoc2013-evolution-1723ee09122a8e137e78ed301f2706eefb281adf.tar.xz
gsoc2013-evolution-1723ee09122a8e137e78ed301f2706eefb281adf.tar.zst
gsoc2013-evolution-1723ee09122a8e137e78ed301f2706eefb281adf.zip
Fix mbox-to-Maildir conversion... again.
Commit ee5671fc fixed mbox-to-Maildir conversion for users upgrading from Evolution 2.32, who had already migrated to XDG Base Directories. But turns out, mbox-to-Maildir conversion was still broken for users coming from Evolution 2.30 or earlier because the logic to move files into XDG Base Directories was running *after* the conversion routine. So the conversion routine found nothing to convert, and users were left with a broken "On This Computer" mail store. This commit runs the XDG Base Directory migration first on startup, followed by the mbox-to-Maildir conversion.
Diffstat (limited to 'shell/main.c')
-rw-r--r--shell/main.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/shell/main.c b/shell/main.c
index bd7997a3f7..e4570f0668 100644
--- a/shell/main.c
+++ b/shell/main.c
@@ -109,6 +109,7 @@ static gchar **remaining_args;
/* Forward declarations */
void e_convert_local_mail (EShell *shell);
+void e_migrate_base_dirs (EShell *shell);
static void
categories_icon_theme_hack (void)
@@ -665,7 +666,15 @@ main (gint argc,
* This has to be done before we load modules because some of the
* EShellBackends immediately add GMainContext sources that would
* otherwise get dispatched during gtk_dialog_run(), and we don't
- * want them dispatched until after the conversion is complete. */
+ * want them dispatched until after the conversion is complete.
+ *
+ * Addendum: We need to perform the XDG Base Directory migration
+ * before converting the local mail store, because the
+ * conversion is triggered by checking for certain key
+ * files and directories under XDG_DATA_HOME. Without
+ * this the mail conversion will not trigger for users
+ * upgrading from Evolution 2.30 or older. */
+ e_migrate_base_dirs (shell);
e_convert_local_mail (shell);
e_shell_load_modules (shell);