aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2004-02-05 20:29:58 +0800
committerMichael Zucci <zucchi@src.gnome.org>2004-02-05 20:29:58 +0800
commit5a167b9be36bd11bb3b61c021d6a41b90c728cac (patch)
treeb4e5a7ab5e73f5c625ff21747b220e2cd2f71012
parent9e58087307421a11742b41003edda9a7b949bd31 (diff)
downloadgsoc2013-evolution-5a167b9be36bd11bb3b61c021d6a41b90c728cac.tar
gsoc2013-evolution-5a167b9be36bd11bb3b61c021d6a41b90c728cac.tar.gz
gsoc2013-evolution-5a167b9be36bd11bb3b61c021d6a41b90c728cac.tar.bz2
gsoc2013-evolution-5a167b9be36bd11bb3b61c021d6a41b90c728cac.tar.lz
gsoc2013-evolution-5a167b9be36bd11bb3b61c021d6a41b90c728cac.tar.xz
gsoc2013-evolution-5a167b9be36bd11bb3b61c021d6a41b90c728cac.tar.zst
gsoc2013-evolution-5a167b9be36bd11bb3b61c021d6a41b90c728cac.zip
sync the from folder if we're going to delete it, otherwise we can't
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. svn path=/trunk/; revision=24631
-rw-r--r--mail/ChangeLog6
-rw-r--r--mail/em-folder-tree.c6
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);