aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2001-03-30 03:15:54 +0800
committerDan Winship <danw@src.gnome.org>2001-03-30 03:15:54 +0800
commit88668a60b31e2b5d9865ae4d488b1134d47d998c (patch)
treea79bbc830cae5574a8f375c396b865cf379fed3b /mail
parent66ea496ff34fcc662e581eea5a70325ac0e570ab (diff)
downloadgsoc2013-evolution-88668a60b31e2b5d9865ae4d488b1134d47d998c.tar.gz
gsoc2013-evolution-88668a60b31e2b5d9865ae4d488b1134d47d998c.tar.zst
gsoc2013-evolution-88668a60b31e2b5d9865ae4d488b1134d47d998c.zip
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
Diffstat (limited to 'mail')
-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)