[evolution-exchange] Bug #597509 - Subscribe to other user's mailbox doesn't work



commit e90d1ca5989fc05d66ad1f60f48e4f2eca0787cb
Author: Milan Crha <mcrha redhat com>
Date:   Thu Feb 18 16:33:30 2010 +0100

    Bug #597509 - Subscribe to other user's mailbox doesn't work

 camel/camel-exchange-utils.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/camel/camel-exchange-utils.c b/camel/camel-exchange-utils.c
index bf9405c..fd4c9a4 100644
--- a/camel/camel-exchange-utils.c
+++ b/camel/camel-exchange-utils.c
@@ -2926,6 +2926,11 @@ camel_exchange_utils_get_folder_info (CamelService *service,
 	g_return_val_if_fail (unread_counts != NULL, FALSE);
 	g_return_val_if_fail (folder_flags != NULL, FALSE);
 
+	/* use lock here to have done scanning of foreign hierarchy
+	   only once, and to not call get_folder_info_data simultaneously
+	   from more than one thread */
+	g_static_rec_mutex_lock (&ed->changed_msgs_mutex);
+
 	get_folder_info_data (ed, top, store_flags, folder_names, folder_uris, unread_counts, folder_flags);
 
 	if (ed->new_folder_id == 0) {
@@ -2933,6 +2938,8 @@ camel_exchange_utils_get_folder_info (CamelService *service,
 		ed->removed_folder_id = g_signal_connect (ed->account, "removed_folder", G_CALLBACK (account_removed_folder), ed);
 	}
 
+	g_static_rec_mutex_unlock (&ed->changed_msgs_mutex);
+
 	return TRUE;
 }
 



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