aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ChangeLog.ja5
-rw-r--r--src/mh.c9
3 files changed, 16 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 5f02ea6c..c12fc532 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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() の代わりに
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;