[evolution-patches] (groupwise)patch to remove mails from cache when deleted



hi,
the attached patch removes a mail from cache when deleted.
This was not being done before.

Thanks,
partha
Index: camel-groupwise-folder.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/groupwise/camel-groupwise-folder.c,v
retrieving revision 1.32.4.1
diff -u -p -r1.32.4.1 camel-groupwise-folder.c
--- camel-groupwise-folder.c	15 Mar 2005 01:35:28 -0000	1.32.4.1
+++ camel-groupwise-folder.c	29 Mar 2005 06:20:31 -0000
@@ -496,6 +497,7 @@ static void
 groupwise_sync (CamelFolder *folder, gboolean expunge, CamelException *ex)
 {
 	CamelGroupwiseStore *gw_store = CAMEL_GROUPWISE_STORE (folder->parent_store) ;
+	CamelGroupwiseFolder *gw_folder = CAMEL_GROUPWISE_FOLDER (folder);
 	CamelGroupwiseStorePrivate *priv = gw_store->priv ;
 	CamelMessageInfo *info ;
 	CamelGroupwiseMessageInfo *gw_info ;
@@ -531,8 +533,10 @@ groupwise_sync (CamelFolder *folder, gbo
 				if (diff.changed & CAMEL_MESSAGE_DELETED) {
 					const char *uid = camel_message_info_uid (info) ;
 					status = e_gw_connection_remove_item (cnc, container_id, uid);
-					if (status == E_GW_CONNECTION_STATUS_OK) 
-						camel_folder_summary_remove_uid (folder->summary,uid) ;
+					if (status == E_GW_CONNECTION_STATUS_OK) {
+						camel_folder_summary_remove_uid (folder->summary, uid) ;
+						camel_data_cache_remove(gw_folder->cache, "cache", uid, ex);
+					}
 				}
 			}
 		}
@@ -994,6 +999,7 @@ static void
 groupwise_expunge (CamelFolder *folder, CamelException *ex)
 {
 	CamelGroupwiseStore *groupwise_store = CAMEL_GROUPWISE_STORE(folder->parent_store) ;
+	CamelGroupwiseFolder *gw_folder = CAMEL_GROUPWISE_FOLDER (folder);
 	CamelGroupwiseStorePrivate  *priv = groupwise_store->priv;
 	CamelGroupwiseMessageInfo *ginfo;
 	CamelMessageInfo *info;
@@ -1022,6 +1028,7 @@ groupwise_expunge (CamelFolder *folder, 
 			if (status == E_GW_CONNECTION_STATUS_OK) {
 				camel_folder_change_info_remove_uid (changes, (char *) uid);
 				camel_folder_summary_remove_uid (folder->summary, uid) ;
+				camel_data_cache_remove(gw_folder->cache, "cache", uid, ex);
 				delete = TRUE ;
 			}
 		}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]