aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog5
-rw-r--r--mail/mail-send-recv.c8
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)