diff -up evolution-data-server-2.26.3/camel/camel-vee-folder.c.camel-vee-folder evolution-data-server-2.26.3/camel/camel-vee-folder.c
--- evolution-data-server-2.26.3/camel/camel-vee-folder.c.camel-vee-folder 2009-06-26 08:36:57.000000000 -0400
+++ evolution-data-server-2.26.3/camel/camel-vee-folder.c 2009-07-14 14:10:51.000000000 -0400
@@ -1533,12 +1533,14 @@ folder_changed_change(CamelSession *sess
}
CAMEL_VEE_FOLDER_LOCK(vf, summary_lock);
- if (matches_changed || matches_added || changes->uid_removed->len||present)
- camel_db_begin_transaction (folder->parent_store->cdb_w, NULL);
if (folder_unmatched != NULL)
CAMEL_VEE_FOLDER_LOCK(folder_unmatched, summary_lock);
+ if (matches_changed || matches_added || changes->uid_removed->len||present)
+ camel_db_begin_transaction (folder->parent_store->cdb_w, NULL);
+
+
dd(printf("Vfolder '%s' subfolder changed '%s'\n", folder->full_name, sub->full_name));
dd(printf(" changed %u added %u removed %u\n", changes->uid_changed->len, changes->uid_added->len, changes->uid_removed->len));