diff options
author | 0 <NotZed@Ximian.com> | 2001-10-11 05:50:42 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2001-10-11 05:50:42 +0800 |
commit | 12c3606459583b9f0220ea69808c2c0be52f78c5 (patch) | |
tree | d5f022e96fcc512cc7207c3786fc0956fe6fefe4 /camel/camel-vee-folder.c | |
parent | 55cf0a3f33da627ff0afa77c3e64bbbe98a47f67 (diff) | |
download | gsoc2013-evolution-12c3606459583b9f0220ea69808c2c0be52f78c5.tar.gz gsoc2013-evolution-12c3606459583b9f0220ea69808c2c0be52f78c5.tar.zst gsoc2013-evolution-12c3606459583b9f0220ea69808c2c0be52f78c5.zip |
Only re-build the folder if we're expunging. Also only clear out the
2001-10-10 <NotZed@Ximian.com>
* camel-vee-folder.c (vee_sync): Only re-build the folder if we're
expunging. Also only clear out the changed folders list if we're
expungung and everything worked.
svn path=/trunk/; revision=13573
Diffstat (limited to 'camel/camel-vee-folder.c')
-rw-r--r-- | camel/camel-vee-folder.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/camel/camel-vee-folder.c b/camel/camel-vee-folder.c index dc18d5e478..3f05626ceb 100644 --- a/camel/camel-vee-folder.c +++ b/camel/camel-vee-folder.c @@ -527,16 +527,18 @@ vee_sync(CamelFolder *folder, gboolean expunge, CamelException *ex) if (camel_exception_is_set(ex)) break; - if (vee_folder_build_folder(vf, f, ex) == -1) + if (expunge && vee_folder_build_folder(vf, f, ex) == -1) break; node = node->next; } - CAMEL_VEE_FOLDER_LOCK(vf, changed_lock); - g_list_free(p->folders_changed); - p->folders_changed = NULL; - CAMEL_VEE_FOLDER_UNLOCK(vf, changed_lock); + if (expunge && node == NULL) { + CAMEL_VEE_FOLDER_LOCK(vf, changed_lock); + g_list_free(p->folders_changed); + p->folders_changed = NULL; + CAMEL_VEE_FOLDER_UNLOCK(vf, changed_lock); + } CAMEL_VEE_FOLDER_UNLOCK(vf, subfolder_lock); } |