From c5cc63579c8af2571bf826da15d1ae3d63e6cf75 Mon Sep 17 00:00:00 2001 From: hiro Date: Thu, 21 Jul 2005 10:39:19 +0000 Subject: fixed cache discrepancy on Draft folder. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@444 ee746299-78ed-0310-b773-934348b2243d --- src/mh.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/mh.c b/src/mh.c index 5f7347e1..5c2a1b41 100644 --- a/src/mh.c +++ b/src/mh.c @@ -216,9 +216,12 @@ static GSList *mh_get_msg_list(Folder *folder, FolderItem *item, } } else if (use_cache) { GSList *newlist, *cur, *next; + gboolean strict_cache_check = prefs_common.strict_cache_check; - mlist = procmsg_read_cache - (item, prefs_common.strict_cache_check); + if (item->stype == F_QUEUE || item->stype == F_DRAFT) + strict_cache_check = TRUE; + + mlist = procmsg_read_cache(item, strict_cache_check); msg_table = procmsg_msg_hash_table_create(mlist); newlist = mh_get_uncached_msgs(msg_table, item); if (newlist) @@ -226,7 +229,7 @@ static GSList *mh_get_msg_list(Folder *folder, FolderItem *item, if (msg_table) g_hash_table_destroy(msg_table); - if (!prefs_common.strict_cache_check) { + if (!strict_cache_check) { /* remove nonexistent messages */ for (cur = mlist; cur != NULL; cur = next) { MsgInfo *msginfo = (MsgInfo *)cur->data; -- cgit v1.2.3