diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-12-07 10:17:56 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-12-07 10:17:56 +0000 |
commit | 168a914e917f0c6b336a1a0f2f3d08e35c001d31 (patch) | |
tree | 8637dd8814aab1f37b0adf853e7ebeaca494d110 /libsylph/mh.c | |
parent | 98bc6b1b9afbee2d32baf91c42906a739aba3f8d (diff) |
update caches and flags when reading message list from a folder.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@806 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'libsylph/mh.c')
-rw-r--r-- | libsylph/mh.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/libsylph/mh.c b/libsylph/mh.c index 8015d5ba..9cb12425 100644 --- a/libsylph/mh.c +++ b/libsylph/mh.c @@ -249,12 +249,13 @@ static GSList *mh_get_msg_list(Folder *folder, FolderItem *item, item->cache_dirty = TRUE; } - item->mtime = cur_mtime; - procmsg_set_flags(mlist, item); mlist = procmsg_sort_msg_list(mlist, item->sort_key, item->sort_type); + if (item->mark_queue) + item->mark_dirty = TRUE; + #ifdef MEASURE_TIME g_timer_stop(timer); g_print("%s: %s: elapsed time: %f sec\n", @@ -264,6 +265,14 @@ static GSList *mh_get_msg_list(Folder *folder, FolderItem *item, debug_print("cache_dirty: %d, mark_dirty: %d\n", item->cache_dirty, item->mark_dirty); + if (!item->opened) { + item->mtime = cur_mtime; + if (item->cache_dirty) + procmsg_write_cache_list(item, mlist); + if (item->mark_dirty) + procmsg_write_flags_list(item, mlist); + } + return mlist; } |