diff options
Diffstat (limited to 'camel/providers/local/camel-local-store.c')
-rw-r--r-- | camel/providers/local/camel-local-store.c | 8 |
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: |