diff options
-rw-r--r-- | mail/ChangeLog | 5 | ||||
-rw-r--r-- | 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 <danw@ximian.com> + * 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) |