From 88668a60b31e2b5d9865ae4d488b1134d47d998c Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Thu, 29 Mar 2001 19:15:54 +0000 Subject: Doh! This was storing "struct _folder_info"s in the cache and then trying * mail-send-recv.c (receive_get_folder): Doh! This was storing "struct _folder_info"s in the cache and then trying to read them back as CamelFolders. Fixicate. Fixes the "crash with 2 POP accounts" bug. svn path=/trunk/; revision=9021 --- mail/ChangeLog | 5 +++++ mail/mail-send-recv.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/mail/ChangeLog b/mail/ChangeLog index d4536f53b2..14fd5575cd 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,5 +1,10 @@ 2001-03-29 Dan Winship + * mail-send-recv.c (receive_get_folder): Doh! This was storing + "struct _folder_info"s in the cache and then trying to read them + back as CamelFolders. Fixicate. Fixes the "crash with 2 POP + accounts" bug. + * session.c (auth_callback): Update call to camel_url_to_string. (Don't include the params in the password hash table key.) diff --git a/mail/mail-send-recv.c b/mail/mail-send-recv.c index 533c35a2be..f7b5691498 100644 --- a/mail/mail-send-recv.c +++ b/mail/mail-send-recv.c @@ -515,11 +515,11 @@ receive_get_folder(CamelFilterDriver *d, const char *uri, void *data, CamelExcep char *oldkey; g_mutex_lock(info->data->lock); - folder = g_hash_table_lookup(info->data->folders, uri); + oldinfo = g_hash_table_lookup(info->data->folders, uri); g_mutex_unlock(info->data->lock); - if (folder) { - camel_object_ref((CamelObject *)folder); - return folder; + if (oldinfo) { + camel_object_ref((CamelObject *)oldinfo->folder); + return oldinfo->folder; } folder = mail_tool_uri_to_folder(uri, ex); if (!folder) -- cgit v1.2.3