aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-07-12 07:24:58 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-07-12 07:24:58 +0000
commit71d3dab216f7a512564a42f97b0cdd106328b70b (patch)
tree3e03455013106e198d3d853b970e516f345237e5 /src
parent7a06ab831591b6cce9dda83e9343db373aad851e (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.c29
-rw-r--r--src/procmsg.h3
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);