diff options
author | Milan Crha <mcrha@redhat.com> | 2008-08-28 15:31:43 +0800 |
---|---|---|
committer | Milan Crha <mcrha@src.gnome.org> | 2008-08-28 15:31:43 +0800 |
commit | b693cbeb05a95fd893ef6053548c7aa7300c999a (patch) | |
tree | f99351959940575b4e7e273645208fb7a8359984 /mail | |
parent | 63bda84ccffbe899abdbefaa0eb476d2343134aa (diff) | |
download | gsoc2013-evolution-b693cbeb05a95fd893ef6053548c7aa7300c999a.tar gsoc2013-evolution-b693cbeb05a95fd893ef6053548c7aa7300c999a.tar.gz gsoc2013-evolution-b693cbeb05a95fd893ef6053548c7aa7300c999a.tar.bz2 gsoc2013-evolution-b693cbeb05a95fd893ef6053548c7aa7300c999a.tar.lz gsoc2013-evolution-b693cbeb05a95fd893ef6053548c7aa7300c999a.tar.xz gsoc2013-evolution-b693cbeb05a95fd893ef6053548c7aa7300c999a.tar.zst gsoc2013-evolution-b693cbeb05a95fd893ef6053548c7aa7300c999a.zip |
** Fix for bug #509647
2008-08-28 Milan Crha <mcrha@redhat.com>
** Fix for bug #509647
* em-folder-utils.c: (emft_copy_folders__exec):
* mail-ops.c: (fetch_mail_exec), (send_queue_exec):
Do not expunge folder when something goes wrong.
svn path=/trunk/; revision=36143
Diffstat (limited to 'mail')
-rw-r--r-- | mail/ChangeLog | 8 | ||||
-rw-r--r-- | mail/em-folder-utils.c | 2 | ||||
-rw-r--r-- | mail/mail-ops.c | 8 |
3 files changed, 14 insertions, 4 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 855033b555..b90c11f8c7 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,11 @@ +2008-08-28 Milan Crha <mcrha@redhat.com> + + ** Fix for bug #509647 + + * em-folder-utils.c: (emft_copy_folders__exec): + * mail-ops.c: (fetch_mail_exec), (send_queue_exec): + Do not expunge folder when something goes wrong. + 2008-08-27 Philip Withnall <philip@tecnocode.co.uk> ** Fix for bug #534762 diff --git a/mail/em-folder-utils.c b/mail/em-folder-utils.c index b1ec99f25e..1521d29a67 100644 --- a/mail/em-folder-utils.c +++ b/mail/em-folder-utils.c @@ -174,7 +174,7 @@ emft_copy_folders__exec (struct _EMCopyFolders *m) camel_folder_transfer_messages_to (fromfolder, uids, tofolder, NULL, m->delete, &m->base.ex); camel_folder_free_uids (fromfolder, uids); - if (m->delete) + if (m->delete && !camel_exception_is_set (&m->base.ex)) camel_folder_sync(fromfolder, TRUE, NULL); camel_object_unref (fromfolder); diff --git a/mail/mail-ops.c b/mail/mail-ops.c index 705e43898b..00eebd201a 100644 --- a/mail/mail-ops.c +++ b/mail/mail-ops.c @@ -337,7 +337,7 @@ fetch_mail_exec (struct _fetch_mail_msg *m) } } - if (fm->delete || cache_uids) { + if ((fm->delete || cache_uids) && !camel_exception_is_set (&fm->base.ex)) { /* expunge messages (downloaded so far) */ camel_folder_sync(folder, fm->delete, NULL); } @@ -772,8 +772,10 @@ send_queue_exec (struct _send_queue_msg *m) camel_folder_free_uids (m->queue, uids); g_ptr_array_free (send_uids, TRUE); - camel_folder_sync (m->queue, TRUE, &ex); - camel_exception_clear (&ex); + if (j <= 0 && !camel_exception_is_set (&m->base.ex)) { + camel_folder_sync (m->queue, TRUE, &ex); + camel_exception_clear (&ex); + } if (sent_folder) { camel_folder_sync (sent_folder, FALSE, &ex); |