From 91822b42dc7b5eb64cad2626f9fc620a2ee6a2c8 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 5 Dec 2012 08:19:04 -0500 Subject: Make EMailPartList thread-safe. Exposing data members in the public struct is unwise, especially when EMailPartList is used from multiple threads. Instead keep the members private and provide a set of thread-safe functions to manipulate them. --- modules/mail/e-mail-shell-backend.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'modules/mail') diff --git a/modules/mail/e-mail-shell-backend.c b/modules/mail/e-mail-shell-backend.c index c05e8518fe..9a56c00357 100644 --- a/modules/mail/e-mail-shell-backend.c +++ b/modules/mail/e-mail-shell-backend.c @@ -1061,8 +1061,10 @@ message_parsed_cb (GObject *source_object, EMailPartList *parts_list; GObject *preview = user_data; EMailDisplay *display; + CamelFolder *folder; SoupSession *soup_session; GHashTable *mails; + const gchar *message_uid; gchar *mail_uri; display = g_object_get_data (preview, "mbox-imp-display"); @@ -1078,8 +1080,10 @@ message_parsed_cb (GObject *source_object, g_object_set_data ( G_OBJECT (soup_session), "mails", mails); } - mail_uri = e_mail_part_build_uri ( - parts_list->folder, parts_list->message_uid, NULL, NULL); + + folder = e_mail_part_list_get_folder (parts_list); + message_uid = e_mail_part_list_get_message_uid (parts_list); + mail_uri = e_mail_part_build_uri (folder, message_uid, NULL, NULL); g_hash_table_insert (mails, mail_uri, parts_list); -- cgit v1.2.3