aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--ChangeLog.ja8
-rw-r--r--libsylph/imap.c4
-rw-r--r--libsylph/mh.c4
-rw-r--r--src/inc.c7
5 files changed, 27 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 75183164..9ac91360 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2007-03-25
+ * libsylph/imap.c
+ libsylph/mh.c: fixed get_msg_list() with uncached_only flag.
+ * src/inc.c: inc_remote_account_mail(): fixed a bug that messages which
+ were not filtered were not counted as new messages.
+
+2007-03-25
+
* src/main.c: app_init(): win32: disabled LANGUAGE (fixes incorrect
language selection).
diff --git a/ChangeLog.ja b/ChangeLog.ja
index a91b77c8..3c7264aa 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,3 +1,11 @@
+2007-03-25
+
+ * libsylph/imap.c
+ libsylph/mh.c: get_msg_list() で uncached_only フラグが付いた場合を
+ 修正。
+ * src/inc.c: inc_remote_account_mail(): フィルタされなかったメッセージ
+ が新着メッセージとカウントされなかったバグを修正。
+
2007-03-25
* src/main.c: app_init(): win32: LANGUAGE を無効にした(言語選択を
diff --git a/libsylph/imap.c b/libsylph/imap.c
index f3856ce1..caff7255 100644
--- a/libsylph/imap.c
+++ b/libsylph/imap.c
@@ -1067,7 +1067,9 @@ static GSList *imap_get_msg_list_full(Folder *folder, FolderItem *item,
newlist = mlist;
}
- mlist = procmsg_sort_msg_list(mlist, item->sort_key, item->sort_type);
+ if (!uncached_only)
+ mlist = procmsg_sort_msg_list(mlist, item->sort_key,
+ item->sort_type);
item->last_num = last_uid;
diff --git a/libsylph/mh.c b/libsylph/mh.c
index c90bb117..1ba2770e 100644
--- a/libsylph/mh.c
+++ b/libsylph/mh.c
@@ -260,7 +260,9 @@ static GSList *mh_get_msg_list_full(Folder *folder, FolderItem *item,
procmsg_set_flags(mlist, item);
- mlist = procmsg_sort_msg_list(mlist, item->sort_key, item->sort_type);
+ if (!uncached_only)
+ mlist = procmsg_sort_msg_list(mlist, item->sort_key,
+ item->sort_type);
if (item->mark_queue)
item->mark_dirty = TRUE;
diff --git a/src/inc.c b/src/inc.c
index 81da2fb2..4d791a68 100644
--- a/src/inc.c
+++ b/src/inc.c
@@ -310,6 +310,10 @@ static gint inc_remote_account_mail(MainWindow *mainwin, PrefsAccount *account)
}
} else if (fltinfo->actions[FLT_ACTION_DELETE])
folder_item_remove_msg(inbox, msginfo);
+ else if (MSG_IS_NEW(msginfo->flags) ||
+ MSG_IS_UNREAD(msginfo->flags))
+ ++new_msgs;
+
if (fltinfo->drop_done)
++n_filtered;
@@ -318,7 +322,8 @@ static gint inc_remote_account_mail(MainWindow *mainwin, PrefsAccount *account)
procmsg_msg_list_free(mlist);
- debug_print("inc_remote_account_mail(): %d message(s) filtered\n", n_filtered);
+ debug_print("inc_remote_account_mail(): INBOX: %d new, %d filtered\n",
+ new_msgs, n_filtered);
if (!prefs_common.scan_all_after_inc && item != NULL &&
inbox == item)