summaryrefslogtreecommitdiffstats
path: root/src/plugins/messageservices/imap/imapstrategy.cpp
diff options
context:
space:
mode:
authorDon Sanders <don.sanders@nokia.com>2012-05-28 14:08:48 +0300
committerDon Sanders <don.sanders@nokia.com>2012-05-28 14:08:48 +0300
commit14446469c691f67caaad3b83b13582e3d8bd6f07 (patch)
treeb6beefb494d5fa0c707d9bb34294ed207693a858 /src/plugins/messageservices/imap/imapstrategy.cpp
parentd0efa341bbc959c37272b66b6cedc5e2e87e5416 (diff)
Fix synchronization bug for qresync capable servers.
highestmodseq for folders wasn't being recorded in mailstore until the second sync. So flag changes and deletions made by another client between the first and second sync weren't being detected.
Diffstat (limited to 'src/plugins/messageservices/imap/imapstrategy.cpp')
-rw-r--r--src/plugins/messageservices/imap/imapstrategy.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/messageservices/imap/imapstrategy.cpp b/src/plugins/messageservices/imap/imapstrategy.cpp
index 26c88367..a2d8918b 100644
--- a/src/plugins/messageservices/imap/imapstrategy.cpp
+++ b/src/plugins/messageservices/imap/imapstrategy.cpp
@@ -3723,7 +3723,10 @@ void ImapRetrieveMessageListStrategy::qresyncFolderListFolderAction(ImapStrategy
_error = true;
}
}
-
+ }
+
+ // Always set the highestmodseq for the folder
+ {
processFlagChanges(properties.flagChanges, properties.id, &_error);
folder.setCustomField("qmf-highestmodseq", properties.highestModSeq);
if (!QMailStore::instance()->updateFolder(&folder)) {