[evolution-data-server/evolution-data-server-3-12] Bug #728973 - [IMAPX] Recover after store summary version mismatch



commit 85499df5837911f720ed638bc0f7099114721981
Author: Milan Crha <mcrha redhat com>
Date:   Fri May 9 12:39:59 2014 +0200

    Bug #728973 - [IMAPX] Recover after store summary version mismatch

 camel/camel-store-summary.c                       |    2 +-
 camel/providers/imapx/camel-imapx-store-summary.c |    7 ++-----
 camel/providers/imapx/camel-imapx-store.c         |    5 ++++-
 3 files changed, 7 insertions(+), 7 deletions(-)
---
diff --git a/camel/camel-store-summary.c b/camel/camel-store-summary.c
index 9783595..d6deab9 100644
--- a/camel/camel-store-summary.c
+++ b/camel/camel-store-summary.c
@@ -480,7 +480,7 @@ camel_store_summary_load (CamelStoreSummary *summary)
 
 error:
        i = ferror (in);
-       g_warning ("Cannot load summary file: %s", g_strerror (ferror (in)));
+       g_warning ("Cannot load summary file '%s': %s", summary->priv->summary_path, i == 0 ? "Unknown error" 
: g_strerror (i));
        g_rec_mutex_unlock (&summary->priv->io_lock);
        fclose (in);
        summary->priv->dirty = FALSE;
diff --git a/camel/providers/imapx/camel-imapx-store-summary.c 
b/camel/providers/imapx/camel-imapx-store-summary.c
index 82c8ab6..3e715ea 100644
--- a/camel/providers/imapx/camel-imapx-store-summary.c
+++ b/camel/providers/imapx/camel-imapx-store-summary.c
@@ -109,11 +109,8 @@ imapx_store_summary_summary_header_load (CamelStoreSummary *summary,
                return -1;
 
        if (version < CAMEL_IMAPX_STORE_SUMMARY_VERSION) {
-               g_warning (
-                       "Unable to load store summary: "
-                       "Expected version (%d), got (%d)",
-                       CAMEL_IMAPX_STORE_SUMMARY_VERSION,
-                       version);
+               g_warning ("IMAPx: Unable to load store summary: Expected version (%d), got (%d)",
+                       CAMEL_IMAPX_STORE_SUMMARY_VERSION, version);
                return -1;
        }
 
diff --git a/camel/providers/imapx/camel-imapx-store.c b/camel/providers/imapx/camel-imapx-store.c
index b0bd91d..b12cb03 100644
--- a/camel/providers/imapx/camel-imapx-store.c
+++ b/camel/providers/imapx/camel-imapx-store.c
@@ -2210,7 +2210,10 @@ imapx_store_initable_init (GInitable *initable,
 
        summary = g_build_filename (user_cache_dir, ".ev-store-summary", NULL);
        camel_store_summary_set_filename (imapx_store->summary, summary);
-       camel_store_summary_load (imapx_store->summary);
+       if (camel_store_summary_load (imapx_store->summary) == -1) {
+               camel_store_summary_touch (imapx_store->summary);
+               camel_store_summary_save (imapx_store->summary);
+       }
 
        g_free (summary);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]