diff options
-rw-r--r-- | mail/ChangeLog | 6 | ||||
-rw-r--r-- | mail/em-folder-tree.c | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 99fe3e33c6..3aca47aee8 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,5 +1,11 @@ 2004-02-05 Not Zed <NotZed@Ximian.com> + * em-folder-tree.c (emft_copy_folders__copy): sync the from folder + if we're going to delete it, otherwise we can't because its not + empty. See #53815. + +2004-02-05 Not Zed <NotZed@Ximian.com> + * em-folder-tree-model.c (em_folder_tree_model_drag_data_received): hmm, another well tested bit of code ... if you launch another thread you gotta copy diff --git a/mail/em-folder-tree.c b/mail/em-folder-tree.c index 4436cc46d1..776a5c9ef0 100644 --- a/mail/em-folder-tree.c +++ b/mail/em-folder-tree.c @@ -1041,6 +1041,9 @@ emft_copy_folders__copy (struct _mail_msg *mm) camel_folder_transfer_messages_to (fromfolder, uids, tofolder, NULL, m->delete, &mm->ex); camel_folder_free_uids (fromfolder, uids); + if (m->delete) + camel_folder_sync(fromfolder, TRUE, NULL); + camel_object_unref (fromfolder); camel_object_unref (tofolder); } @@ -1061,6 +1064,9 @@ emft_copy_folders__copy (struct _mail_msg *mm) d(printf ("deleting folder '%s'\n", info->full_name)); + /* FIXME: we need to do something with the exception + since otherwise the users sees a failed operation + with no error message or even any warnings */ if (camel_store_supports_subscriptions (m->fromstore)) camel_store_unsubscribe_folder (m->fromstore, info->full_name, NULL); |