From dab04ddab36fa0e882479901900f880284bfb595 Mon Sep 17 00:00:00 2001 From: Not Zed Date: Wed, 19 May 2004 02:17:48 +0000 Subject: ** See #58641. 2004-05-19 Not Zed ** See #58641. * camel-vee-folder.c (vee_sync): don't rebuild auto-type vfolders. they should always be consistent and it saves a lot of unecessary work. * camel-store.c (store_sync): we don't want to sync any vfolders as part of the store sync call. its used for a different purpose in vFolders. oh well its a hack. svn path=/trunk/; revision=25967 --- camel/ChangeLog | 12 ++++++++++++ camel/camel-store.c | 5 ++++- camel/camel-vee-folder.c | 4 +++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/camel/ChangeLog b/camel/ChangeLog index 79932332d1..2aacd3d40b 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,15 @@ +2004-05-19 Not Zed + + ** See #58641. + + * camel-vee-folder.c (vee_sync): don't rebuild auto-type vfolders. + they should always be consistent and it saves a lot of unecessary + work. + + * camel-store.c (store_sync): we don't want to sync any vfolders + as part of the store sync call. its used for a different purpose + in vFolders. oh well its a hack. + 2004-05-18 Not Zed * providers/local/camel-maildir-store.c (fill_fi): do the same diff --git a/camel/camel-store.c b/camel/camel-store.c index 3b6b60afff..14e3d073ee 100644 --- a/camel/camel-store.c +++ b/camel/camel-store.c @@ -651,11 +651,14 @@ store_sync (CamelStore *store, int expunge, CamelException *ex) CamelException x; int i; + /* we don't sync any vFolders, that is used to update certain vfolder queries mainly, + and we're really only interested in storing/expunging the physical mails */ camel_exception_init(&x); folders = camel_object_bag_list(store->folders); for (i=0;ilen;i++) { folder = folders->pdata[i]; - if (!camel_exception_is_set(&x)) + if (!CAMEL_IS_VEE_FOLDER(folder) + && !camel_exception_is_set(&x)) camel_folder_sync(folder, expunge, &x); camel_object_unref(folder); } diff --git a/camel/camel-vee-folder.c b/camel/camel-vee-folder.c index cf4301df03..c74b001cc9 100644 --- a/camel/camel-vee-folder.c +++ b/camel/camel-vee-folder.c @@ -634,7 +634,9 @@ vee_sync(CamelFolder *folder, gboolean expunge, CamelException *ex) break; } - if (vee_folder_build_folder(vf, f, ex) == -1) + /* auto update vfolders shouldn't need a rebuild */ + if ((vf->flags & CAMEL_STORE_VEE_FOLDER_AUTO) == 0 + && vee_folder_build_folder(vf, f, ex) == -1) break; node = node->next; -- cgit v1.2.3