aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/local/camel-local-store.c
diff options
context:
space:
mode:
Diffstat (limited to 'camel/providers/local/camel-local-store.c')
-rw-r--r--camel/providers/local/camel-local-store.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/camel/providers/local/camel-local-store.c b/camel/providers/local/camel-local-store.c
index a0eaf9d68f..09b644a318 100644
--- a/camel/providers/local/camel-local-store.c
+++ b/camel/providers/local/camel-local-store.c
@@ -339,6 +339,9 @@ rename_folder(CamelStore *store, const char *old, const char *new, CamelExceptio
if (xrename(old, new, path, ".ev-summary", TRUE, ex))
goto summary_failed;
+ if (xrename(old, new, path, ".cmeta", TRUE, ex))
+ goto cmeta_failed;
+
if (xrename(old, new, path, "", FALSE, ex))
goto base_failed;
@@ -350,7 +353,12 @@ rename_folder(CamelStore *store, const char *old, const char *new, CamelExceptio
return;
+ /* The (f)utility of this recovery effort is quesitonable */
+
base_failed:
+ xrename(new, old, path, ".cmeta", TRUE, ex);
+
+cmeta_failed:
xrename(new, old, path, ".ev-summary", TRUE, ex);
summary_failed: