diff options
author | Not Zed <NotZed@Ximian.com> | 2004-05-19 10:17:48 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2004-05-19 10:17:48 +0800 |
commit | dab04ddab36fa0e882479901900f880284bfb595 (patch) | |
tree | bff6a4156f13307ee0c5e7e64d568fbb5598caba | |
parent | 670c10ba49c831e83852cf9b600df861116bfca2 (diff) | |
download | gsoc2013-evolution-dab04ddab36fa0e882479901900f880284bfb595.tar.gz gsoc2013-evolution-dab04ddab36fa0e882479901900f880284bfb595.tar.zst gsoc2013-evolution-dab04ddab36fa0e882479901900f880284bfb595.zip |
** See #58641.
2004-05-19 Not Zed <NotZed@Ximian.com>
** 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
-rw-r--r-- | camel/ChangeLog | 12 | ||||
-rw-r--r-- | camel/camel-store.c | 5 | ||||
-rw-r--r-- | 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 <NotZed@Ximian.com> + + ** 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 <NotZed@Ximian.com> * 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;i<folders->len;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; |