[evolution-data-server/gnome-2-26] ** BUGFIX: 579360 - Problem with vfolders
- From: Akhil Laddha <lakhil src gnome org>
- To: svn-commits-list gnome org
- Subject: [evolution-data-server/gnome-2-26] ** BUGFIX: 579360 - Problem with vfolders
- Date: Tue, 5 May 2009 07:09:00 -0400 (EDT)
commit 9bcf7a016d847a3e097247aab471da4c9c0662de
Author: Srinivasa Ragavan <sragavan novell com>
Date: Tue May 5 16:41:16 2009 +0530
** BUGFIX: 579360 - Problem with vfolders
Fix for vfolder hang.
---
camel/camel-vee-folder.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/camel/camel-vee-folder.c b/camel/camel-vee-folder.c
index 0b39cf6..8645b8c 100644
--- a/camel/camel-vee-folder.c
+++ b/camel/camel-vee-folder.c
@@ -1052,7 +1052,8 @@ unmatched_check_uid(char *uidin, void *value, struct _update_data *u)
} else {
CamelVeeMessageInfo *mi = (CamelVeeMessageInfo *)camel_folder_summary_uid(((CamelFolder *)u->folder_unmatched)->summary, uid);
if (mi) {
- camel_folder_summary_remove(((CamelFolder *)u->folder_unmatched)->summary, (CamelMessageInfo *)mi);
+ camel_db_delete_uid_from_vfolder_transaction (((CamelFolder *)u->folder_unmatched)->parent_store->cdb_w, ((CamelFolder *)u->folder_unmatched)->full_name, uid, NULL);
+ camel_folder_summary_remove_uid_fast (((CamelFolder *)u->folder_unmatched)->summary, uid);
camel_folder_change_info_remove_uid(u->folder_unmatched->changes, uid);
camel_message_info_free((CamelMessageInfo *)mi);
}
@@ -1340,7 +1341,8 @@ folder_changed_add_uid(CamelFolder *sub, const char *uid, const char hash[8], Ca
vinfo = (CamelVeeMessageInfo *)camel_folder_get_message_info((CamelFolder *)folder_unmatched, vuid);
if (vinfo) {
camel_folder_change_info_remove_uid(folder_unmatched->changes, vuid);
- camel_folder_summary_remove(((CamelFolder *)folder_unmatched)->summary, (CamelMessageInfo *)vinfo);
+ camel_db_delete_uid_from_vfolder_transaction (folder->parent_store->cdb_w, ((CamelFolder *)folder_unmatched)->full_name, vuid, NULL);
+ camel_folder_summary_remove_uid_fast(((CamelFolder *)folder_unmatched)->summary, vuid);
camel_folder_free_message_info((CamelFolder *)folder_unmatched, (CamelMessageInfo *)vinfo);
}
}
@@ -1392,7 +1394,8 @@ folder_changed_remove_uid(CamelFolder *sub, const char *uid, const char hash[8],
vinfo = (CamelVeeMessageInfo *)camel_folder_get_message_info((CamelFolder *)folder_unmatched, vuid);
if (vinfo) {
camel_folder_change_info_remove_uid(folder_unmatched->changes, vuid);
- camel_folder_summary_remove_uid(((CamelFolder *)folder_unmatched)->summary, vuid);
+ camel_db_delete_uid_from_vfolder_transaction (folder->parent_store->cdb_w, ((CamelFolder *)folder_unmatched)->full_name, vuid, NULL);
+ camel_folder_summary_remove_uid_fast(((CamelFolder *)folder_unmatched)->summary, vuid);
camel_folder_free_message_info((CamelFolder *)folder_unmatched, (CamelMessageInfo *)vinfo);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]