aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog6
-rw-r--r--mail/mail-ops.c10
2 files changed, 12 insertions, 4 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 1de699c939..c723338931 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,9 @@
+2001-08-30 Peter Williams <peterw@ximian.com>
+
+ * mail-ops.c (remove_folder_get): Instead of removing the folder
+ from the folder cache here...
+ (remove_folder_got): ... do it here, in the main thread.
+
2001-08-29 Jon Trowbridge <trow@ximian.com>
* mail-callbacks.c (composer_get_message): When calling
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index 3ec54474eb..eeaf6d8b0b 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -1501,16 +1501,18 @@ remove_folder_get (struct _mail_msg *mm)
g_free (full_name);
m->removed = !camel_exception_is_set (&mm->ex);
camel_object_unref (CAMEL_OBJECT (store));
-
- /* Remove this folder from the folder cache */
- mail_folder_cache_remove_folder (m->uri);
}
static void
remove_folder_got (struct _mail_msg *mm)
{
struct _remove_folder_msg *m = (struct _remove_folder_msg *)mm;
-
+
+ if (m->removed) {
+ /* Remove this folder from the folder cache */
+ mail_folder_cache_remove_folder (m->uri);
+ }
+
if (m->done)
m->done (m->uri, m->removed, m->data);
}