summaryrefslogtreecommitdiffstats
path: root/src/plugins/messageservices/imap/imapprotocol.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/messageservices/imap/imapprotocol.cpp')
-rw-r--r--src/plugins/messageservices/imap/imapprotocol.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/messageservices/imap/imapprotocol.cpp b/src/plugins/messageservices/imap/imapprotocol.cpp
index 630b16ed..4df62a57 100644
--- a/src/plugins/messageservices/imap/imapprotocol.cpp
+++ b/src/plugins/messageservices/imap/imapprotocol.cpp
@@ -1401,10 +1401,17 @@ void SelectedState::untaggedResponse(ImapContext *c, const QString &line)
int start = 0;
QString temp = token(line, '(', ')', &start);
c->setPermanentFlags(temp.split(' ', QString::SkipEmptyParts));
+ } else if (line.indexOf("EXPUNGE", 0, Qt::CaseInsensitive) != -1) {
+ quint32 exists = c->exists();
+ if (exists > 0) {
+ --exists;
+ c->setExists(exists);
+ } else {
+ qWarning() << "Unexpected expunge from empty message list";
+ }
} else {
ImapState::untaggedResponse(c, line);
}
- // TODO consider unilateral EXPUNGE notifications
}