talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 9da7f899a157176acd4913d4129cc3200d66c006
parent 5ce200b94f4941a471b5ee8928c2fb17c0bbc5ea
Author: Colin Leroy <colin@colino.net>
Date:   Fri, 27 Mar 2009 19:03:29 +0000

2009-03-27 [colin]	3.7.1cvs28

	* src/folder.c
		Fix cvs14, make sure we mark non-existent caches dirty
		(or they never get written)

Diffstat:
MChangeLog | 9++++++---
MPATCHSETS | 1+
Mconfigure.ac | 2+-
Msrc/folder.c | 21++++++++++++++++++---
4 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,16 +1,20 @@ +2009-03-27 [colin] 3.7.1cvs28 + + * src/folder.c + Fix cvs14, make sure we mark non-existent caches dirty + (or they never get written) + 2009-03-27 [colin] 3.7.1cvs27 * src/imap.c Fix tag update when all tags are removed from another client -<<<<<<< ChangeLog 2009-03-25 [colin] 3.7.1cvs26 * configure.ac Fix configure.ac, thanks to Pawel -======= 2009-03-25 [colin] 3.7.1cvs25 * src/news.c @@ -19,7 +23,6 @@ bug 1883, 'Message processing fails to act on Newsgroups: field' ->>>>>>> 1.396.2.2926 2009-03-23 [colin] 3.7.1cvs24 * src/textview.c diff --git a/PATCHSETS b/PATCHSETS @@ -3770,3 +3770,4 @@ ( cvs diff -u -r 1.101.2.60 -r 1.101.2.61 src/news.c; cvs diff -u -r 1.1.2.10 -r 1.1.2.11 src/etpan/nntp-thread.c; ) > 3.7.1cvs25.patchset >>>>>>> 1.1.2.3777 ( cvs diff -u -r 1.179.2.244 -r 1.179.2.245 src/imap.c; ) > 3.7.1cvs27.patchset +( cvs diff -u -r 1.213.2.191 -r 1.213.2.192 src/folder.c; ) > 3.7.1cvs28.patchset diff --git a/configure.ac b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=7 MICRO_VERSION=1 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=27 +EXTRA_VERSION=28 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/folder.c b/src/folder.c @@ -972,6 +972,9 @@ FolderItem *folder_create_folder(FolderItem *parent, const gchar *name) FolderUpdateData hookdata; new_item->cache = msgcache_new(); + new_item->cache_dirty = TRUE; + new_item->mark_dirty = TRUE; + new_item->tags_dirty = TRUE; hookdata.folder = new_item->folder; hookdata.update_flags = FOLDER_TREE_CHANGED | FOLDER_ADD_FOLDERITEM; @@ -2049,6 +2052,9 @@ gint folder_item_scan_full(FolderItem *item, gboolean filtering) if (item->cache) msgcache_destroy(item->cache); item->cache = msgcache_new(); + item->cache_dirty = TRUE; + item->mark_dirty = TRUE; + item->tags_dirty = TRUE; cache_list = NULL; } @@ -2514,6 +2520,9 @@ static void folder_item_read_cache(FolderItem *item) mark_file = folder_item_get_mark_file(item); tags_file = folder_item_get_tags_file(item); item->cache = msgcache_read_cache(item, cache_file); + item->cache_dirty = FALSE; + item->mark_dirty = FALSE; + item->tags_dirty = FALSE; if (!item->cache) { MsgInfoList *list, *cur; guint newcnt = 0, unreadcnt = 0; @@ -2524,6 +2533,9 @@ static void folder_item_read_cache(FolderItem *item) MsgInfo *msginfo; item->cache = msgcache_new(); + item->cache_dirty = TRUE; + item->mark_dirty = TRUE; + item->tags_dirty = TRUE; folder_item_scan_full(item, TRUE); msgcache_read_mark(item->cache, mark_file); @@ -2572,10 +2584,10 @@ static void folder_item_read_cache(FolderItem *item) g_free(tags_file); } else { item->cache = msgcache_new(); + item->cache_dirty = TRUE; + item->mark_dirty = TRUE; + item->tags_dirty = TRUE; } - item->cache_dirty = FALSE; - item->mark_dirty = FALSE; - item->tags_dirty = FALSE; END_TIMING(); folder_clean_cache_memory(item); @@ -3658,6 +3670,9 @@ gint folder_item_remove_all_msg(FolderItem *item) if (result == 0) { folder_item_free_cache(item, TRUE); item->cache = msgcache_new(); + item->cache_dirty = TRUE; + item->mark_dirty = TRUE; + item->tags_dirty = TRUE; } } else { MsgInfoList *msglist;