aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog7
-rw-r--r--mail/mail-folder-cache.c2
2 files changed, 9 insertions, 0 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index acb57b8b0b..ed06620a0c 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,10 @@
+2001-10-09 <NotZed@Ximian.com>
+
+ * mail-folder-cache.c (folder_changed): Ref folder so it hangs
+ around till we're done with it.
+ (real_folder_changed): Unref folder when we are done with it.
+ Should fix #11981.
+
2001-10-09 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (done_message_selected): Make sure the
diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c
index 2e292699b5..44bb972c31 100644
--- a/mail/mail-folder-cache.c
+++ b/mail/mail-folder-cache.c
@@ -185,6 +185,7 @@ real_folder_changed(CamelFolder *folder, void *event_data, void *data)
struct _folder_info *mfi = data;
update_1folder(mfi, NULL);
+ camel_object_unref((CamelObject *)folder);
}
static void
@@ -197,6 +198,7 @@ folder_changed(CamelObject *o, gpointer event_data, gpointer user_data)
d(printf("Fodler changed!\n"));
/* hopefully our mfi isn't lost while this is executing ... */
+ camel_object_ref((CamelObject *)o);
mail_proxy_event((CamelObjectEventHookFunc)real_folder_changed, o, NULL, mfi);
}