aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@src.gnome.org>2000-09-10 04:13:50 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2000-09-10 04:13:50 +0800
commit5d4acb77ef7a1f2de8fc0cc757a3355df1aa3a88 (patch)
treee598e0c38c8d90927d4e9f3d99d576fbc6238239 /mail
parentce49a43a527ee533a9c697b36760d8bfa481e0aa (diff)
downloadgsoc2013-evolution-5d4acb77ef7a1f2de8fc0cc757a3355df1aa3a88.tar.gz
gsoc2013-evolution-5d4acb77ef7a1f2de8fc0cc757a3355df1aa3a88.tar.zst
gsoc2013-evolution-5d4acb77ef7a1f2de8fc0cc757a3355df1aa3a88.zip
might be a good idea to *save* the uids in the cache when we're done fetching mail ;-)
svn path=/trunk/; revision=5291
Diffstat (limited to 'mail')
-rw-r--r--mail/mail-ops.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index a0b4b00437..082e64fd28 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -233,7 +233,15 @@ do_fetch_mail (gpointer in_data, gpointer op_data, CamelException *ex)
camel_object_unhook_event (CAMEL_OBJECT (folder), "folder_changed",
input->hook_func, input->hook_data);
- camel_folder_free_uids (folder, uids);
+ /* save the cache for the next time we fetch mail! */
+ if (cache) {
+ camel_uid_cache_free_uids (uids);
+
+ if (!camel_exception_is_set (ex))
+ camel_uid_cache_save (cache);
+ camel_uid_cache_destroy (cache);
+ } else
+ camel_folder_free_uids (folder, uids);
data->empty = FALSE;
}