diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ChangeLog.ja | 5 | ||||
-rw-r--r-- | src/mh.c | 9 |
3 files changed, 16 insertions, 3 deletions
@@ -1,5 +1,10 @@ 2005-07-21 + * src/mh.c: mh_get_msg_list(): force strict cache checking on Queue + or Draft folders (fixes cache discrepancy). + +2005-07-21 + * src/imap.c: imap_modified_utf7_to_utf8(): fixed modified-UTF7 to UTF-8 conversion when the string includes '+'. diff --git a/ChangeLog.ja b/ChangeLog.ja index eda19c74..4c01709d 100644 --- a/ChangeLog.ja +++ b/ChangeLog.ja @@ -1,5 +1,10 @@ 2005-07-21 + * src/mh.c: mh_get_msg_list(): 送信待ちまたは草稿フォルダで厳密な + キャッシュのチェックを強制するようにした(キャッシュの不整合を修正)。 + +2005-07-21 + * src/imap.c: imap_modified_utf7_to_utf8(): 文字列が '+' を含むときの modified-UTF7 から UTF-8 への変換を修正。 imap_utf8_to_modified_utf7(): locale 依存の isprint() の代わりに @@ -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; |