diff -up evolution-data-server-3.12.11/camel/providers/local/camel-maildir-store.c.camel-maildir-migration evolution-data-server-3.12.11/camel/providers/local/camel-maildir-store.c --- evolution-data-server-3.12.11/camel/providers/local/camel-maildir-store.c.camel-maildir-migration 2015-02-06 12:42:25.000000000 +0100 +++ evolution-data-server-3.12.11/camel/providers/local/camel-maildir-store.c 2015-06-01 13:03:03.912521771 +0200 @@ -202,11 +202,27 @@ maildir_store_get_folder_sync (CamelStor CamelLocalSettings *local_settings; CamelSettings *settings; CamelService *service; + CamelMaildirStore *maildir_store; gchar *name, *tmp, *cur, *new, *dir_name; gchar *path; struct stat st; CamelFolder *folder = NULL; + g_return_val_if_fail (CAMEL_IS_MAILDIR_STORE (store), NULL); + + maildir_store = CAMEL_MAILDIR_STORE (store); + + if (!maildir_store->priv->already_migrated && + maildir_store->priv->can_escape_dots) { + CamelFolderInfo *folder_info; + + /* Not interested in any errors here, this is to invoke folder + content migration only. */ + folder_info = camel_store_get_folder_info_sync (store, NULL, CAMEL_STORE_FOLDER_INFO_RECURSIVE, cancellable, NULL); + if (folder_info) + camel_folder_info_free (folder_info); + } + service = CAMEL_SERVICE (store); settings = camel_service_ref_settings (service);