diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-07-12 07:24:58 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-07-12 07:24:58 +0000 |
commit | 71d3dab216f7a512564a42f97b0cdd106328b70b (patch) | |
tree | 3e03455013106e198d3d853b970e516f345237e5 /src | |
parent | 7a06ab831591b6cce9dda83e9343db373aad851e (diff) |
clear summary cache to prevent cache discrepancy after sending from queue.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@423 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src')
-rw-r--r-- | src/procmsg.c | 29 | ||||
-rw-r--r-- | src/procmsg.h | 3 |
2 files changed, 26 insertions, 6 deletions
diff --git a/src/procmsg.c b/src/procmsg.c index d3be3765..8f30ab11 100644 --- a/src/procmsg.c +++ b/src/procmsg.c @@ -776,6 +776,24 @@ FILE *procmsg_open_mark_file(FolderItem *item, DataOpenMode mode) return fp; } +void procmsg_clear_cache(FolderItem *item) +{ + FILE *fp; + + fp = procmsg_open_cache_file(item, DATA_WRITE); + if (fp) + fclose(fp); +} + +void procmsg_clear_mark(FolderItem *item) +{ + FILE *fp; + + fp = procmsg_open_mark_file(item, DATA_WRITE); + if (fp) + fclose(fp); +} + /* return the reversed thread tree */ GNode *procmsg_get_thread_tree(GSList *mlist) { @@ -1202,16 +1220,12 @@ void procmsg_get_filter_keyword(MsgInfo *msginfo, gchar **header, gchar **key, void procmsg_empty_trash(FolderItem *trash) { - FILE *fp; - if (trash && trash->total > 0) { debug_print("Emptying messages in %s ...\n", trash->path); folder_item_remove_all_msg(trash); - fp = procmsg_open_cache_file(trash, DATA_WRITE); - if (fp) fclose(fp); - fp = procmsg_open_mark_file(trash, DATA_WRITE); - if (fp) fclose(fp); + procmsg_clear_cache(trash); + procmsg_clear_mark(trash); trash->cache_dirty = FALSE; trash->mark_dirty = FALSE; } @@ -1296,6 +1310,9 @@ gint procmsg_send_queue(FolderItem *queue, gboolean save_msgs, } procmsg_msg_list_free(mlist); + + procmsg_clear_cache(queue); + queue->cache_dirty = FALSE; queue->mtime = 0; return ret; diff --git a/src/procmsg.h b/src/procmsg.h index 852bc6f0..55b803a0 100644 --- a/src/procmsg.h +++ b/src/procmsg.h @@ -243,6 +243,9 @@ FILE *procmsg_open_cache_file (FolderItem *item, FILE *procmsg_open_mark_file (FolderItem *item, DataOpenMode mode); +void procmsg_clear_cache (FolderItem *item); +void procmsg_clear_mark (FolderItem *item); + GNode *procmsg_get_thread_tree (GSList *mlist); gint procmsg_move_messages (GSList *mlist); |