diff options
author | Milan Crha <mcrha@redhat.com> | 2014-03-14 00:44:36 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2014-03-14 00:44:36 +0800 |
commit | ec79e62d981c5cefd36d4d40693b25117d236365 (patch) | |
tree | 8ea9cb5367315ccce858384bf3b9948ab7c3f5f4 /mail/message-list.c | |
parent | 3e8d9c084209a95f14518ec3fbfab4840a44f1cc (diff) | |
download | gsoc2013-evolution-ec79e62d981c5cefd36d4d40693b25117d236365.tar gsoc2013-evolution-ec79e62d981c5cefd36d4d40693b25117d236365.tar.gz gsoc2013-evolution-ec79e62d981c5cefd36d4d40693b25117d236365.tar.bz2 gsoc2013-evolution-ec79e62d981c5cefd36d4d40693b25117d236365.tar.lz gsoc2013-evolution-ec79e62d981c5cefd36d4d40693b25117d236365.tar.xz gsoc2013-evolution-ec79e62d981c5cefd36d4d40693b25117d236365.tar.zst gsoc2013-evolution-ec79e62d981c5cefd36d4d40693b25117d236365.zip |
Bug #726225 - [abrt] Memory corruption during message list regen after Trash expunge
Diffstat (limited to 'mail/message-list.c')
-rw-r--r-- | mail/message-list.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/mail/message-list.c b/mail/message-list.c index d582c326f2..3b669b6b4d 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -5403,9 +5403,13 @@ message_list_regen_thread (GSimpleAsyncResult *simple, thread_tree = message_list_ref_thread_tree (message_list); - if (thread_tree != NULL) + if (thread_tree != NULL) { + /* Make sure multiple threads will not access the same + CamelFolderThread structure at the same time */ + g_mutex_lock (&message_list->priv->thread_tree_lock); camel_folder_thread_messages_apply (thread_tree, uids); - else + g_mutex_unlock (&message_list->priv->thread_tree_lock); + } else thread_tree = camel_folder_thread_messages_new ( folder, uids, regen_data->thread_subject); |