From efb45db411d5f64e95cc2eba2501ff3f73239cb3 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Fri, 22 Feb 2008 10:49:55 +0000 Subject: ** Fix for bug #512776 2008-02-22 Milan Crha ** Fix for bug #512776 * Changes below prevents deadlock on start or send/receive. * mail-send-recv.c: (struct _refresh_folders_msg), (refresh_folders_exec), (refresh_folders_free), (receive_update_got_folderinfo): Do not look for active folders in main thread, rather do it in other thread and free folder info later. * mail-ops.h: (mail_get_folderinfo): * mail-ops.c: (struct _get_folderinfo_msg), (get_folderinfo_done), (get_folderinfo_free), (mail_get_folderinfo): * mail-folder-cache.h: (mail_note_store): * mail-folder-cache.c: (struct _update_data), (update_folders), (mail_note_store): * mail-component.c: (mc_add_store_done): The 'done' function returns if we can free folder info or not. svn path=/trunk/; revision=35071 --- mail/mail-component.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'mail/mail-component.c') diff --git a/mail/mail-component.c b/mail/mail-component.c index 879c346494..0e5e19a398 100644 --- a/mail/mail-component.c +++ b/mail/mail-component.c @@ -206,7 +206,7 @@ store_info_unref(struct _store_info *si) g_free(si); } -static void +static gboolean mc_add_store_done(CamelStore *store, CamelFolderInfo *info, void *data) { struct _store_info *si = data; @@ -223,6 +223,8 @@ mc_add_store_done(CamelStore *store, CamelFolderInfo *info, void *data) } store_info_unref(si); + + return TRUE; } /* Utility functions. */ -- cgit v1.2.3