aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-07-21 10:39:19 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-07-21 10:39:19 +0000
commitc5cc63579c8af2571bf826da15d1ae3d63e6cf75 (patch)
tree84efd775cdf1f53b177c702a4e99c3c041185732 /src
parentee866da823b8419f1b1e5a77bc960744a7a28169 (diff)
fixed cache discrepancy on Draft folder.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@444 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src')
-rw-r--r--src/mh.c9
1 files changed, 6 insertions, 3 deletions
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;