aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2012-04-20 05:30:00 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2012-04-20 05:30:00 +0000
commitd1617cb4f2b635cb7b13fcefa3b9ace29a31259c (patch)
tree90b0f06dce87e5ca1fbaf56fa82d1245304309c0
parentf97eb70650828aa8c7943294fbe874c176da31b7 (diff)
workaround for a broken IMAP server (Yahoo! Mail) which cannot fetch messages right after EXPUNGE.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@3051 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r--ChangeLog6
-rw-r--r--libsylph/imap.c6
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f98d0636..c7167a28 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-04-20
+
+ * libsylph/imap.c: imap_remove_msgs_by_seq_set(): workaround for
+ a broken IMAP server (Yahoo! Mail) which cannot fetch messages
+ right after EXPUNGE.
+
2012-04-18
* src/update_check.c: removed compiler warnings caused by usage of
diff --git a/libsylph/imap.c b/libsylph/imap.c
index 2ec7d0b9..4901aab6 100644
--- a/libsylph/imap.c
+++ b/libsylph/imap.c
@@ -1686,8 +1686,12 @@ static gint imap_remove_msgs_by_seq_set(Folder *folder, FolderItem *item,
}
ok = imap_cmd_expunge(session);
- if (ok != IMAP_SUCCESS)
+ if (ok != IMAP_SUCCESS) {
log_warning(_("can't expunge\n"));
+ } else {
+ /* for some broken IMAP servers */
+ ok = imap_cmd_noop(session);
+ }
item->updated = TRUE;