Blob Blame History Raw
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));