summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDon Sanders <don.sanders@nokia.com>2011-06-24 14:48:44 +0300
committerDon Sanders <don.sanders@nokia.com>2011-06-24 14:48:44 +0300
commit8b6e91bd3239aa05f15dfb4448e1c68f39ace7a8 (patch)
tree9774d5999a8ebb740a990138308127159aad8c32
parentf8ea487a1f6c09af172d4836c7854f8049531f1e (diff)
Consider removal records in QMailDisconnected ops2011W25
Specifically updatesOutstanding and rollBackUpdates. NB#267055 Other mail account : messages deleted in device are not synced to server
-rw-r--r--CHANGES1
-rw-r--r--src/libraries/qmfclient/qmaildisconnected.cpp5
2 files changed, 6 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index c1ed9cc8..e12e4905 100644
--- a/CHANGES
+++ b/CHANGES
@@ -8,6 +8,7 @@ Latest Changes
* Fixes: NB#267768 messageserver segfaults @ QtMobility::QSystemAlignedTimerPrivate::error
* Fixes: NB#265236 "Error occurred" shown frequently when syncing emails
* Fixes: NB#268303 messageserver aborts with manual send receive of Google plugin account after SSU
+ * Fixes: NB#267055 - Other mail account : messages deleted in device are not synced to server
201123
* Fixes: NB#265223 Original message body shown empty in message view
diff --git a/src/libraries/qmfclient/qmaildisconnected.cpp b/src/libraries/qmfclient/qmaildisconnected.cpp
index 0faa17e7..abc1f17e 100644
--- a/src/libraries/qmfclient/qmaildisconnected.cpp
+++ b/src/libraries/qmfclient/qmaildisconnected.cpp
@@ -262,6 +262,9 @@ bool QMailDisconnected::updatesOutstanding(const QMailAccountId &mailAccountId)
unimportantStatusKey &= QMailMessageKey::parentFolderId(QMailFolderId(QMailFolderFwd::LocalStorageFolderId), QMailDataComparator::NotEqual);
if (QMailStore::instance()->countMessages(accountKey & unimportantStatusKey))
return true;
+
+ if (!QMailStore::instance()->messageRemovalRecords(mailAccountId).isEmpty())
+ return true;
return false;
}
@@ -350,6 +353,8 @@ void QMailDisconnected::rollBackUpdates(const QMailAccountId &mailAccountId)
qWarning() << "Unable to rollback disconnected important->unimportant flagging for account:" << mailAccountId;
return;
}
+
+ QMailStore::instance()->purgeMessageRemovalRecords(mailAccountId);
}
/*!