diff options
author | Don Sanders <don.sanders@nokia.com> | 2011-06-08 13:01:37 +0300 |
---|---|---|
committer | Don Sanders <don.sanders@nokia.com> | 2011-06-08 13:01:37 +0300 |
commit | b17e950047e846e331e80944fd19c8e282637aae (patch) | |
tree | a1c1c3efb83c52e94616e9caa95c3979023411f8 | |
parent | 28785fa1a3d9e2706653ca243f923ced44bd1433 (diff) |
Fix for NB#257648 - Use QTimer for "expire check" instead of syshb
Patch from Eric.
-rw-r--r-- | CHANGES | 3 | ||||
-rw-r--r-- | src/libraries/qmfmessageserver/qmailmessagebuffer.cpp | 11 |
2 files changed, 8 insertions, 6 deletions
@@ -1,6 +1,9 @@ Latest Changes --------------- +201123 + * Fixes NB#257648 Use QTimer for "expire check" instead of syshb + 201122 * Fixes: NB#259331 Does not show new emails immediately * Fixes: NB#249858 Random crash observed with assert diff --git a/src/libraries/qmfmessageserver/qmailmessagebuffer.cpp b/src/libraries/qmfmessageserver/qmailmessagebuffer.cpp index 490c0b63..d9341522 100644 --- a/src/libraries/qmfmessageserver/qmailmessagebuffer.cpp +++ b/src/libraries/qmfmessageserver/qmailmessagebuffer.cpp @@ -41,7 +41,7 @@ #include "qmailmessagebuffer.h" #include "qmailstore.h" -#include "qmailheartbeattimer.h" +#include <QTimer> #include <QSettings> #include <QDebug> @@ -61,7 +61,7 @@ class QMailMessageBufferPrivate qreal timeoutScale; // Flush the buffer periodically - QMailHeartbeatTimer messageTimer; + QTimer messageTimer; QTime secondaryTimer; int lastFlushTimePerMessage; @@ -137,11 +137,10 @@ bool QMailMessageBuffer::setCallback(QMailMessage *message, QMailMessageBufferFl // If the buffer is full we flush. // If the timer isn't running we flush. messageFlush(); - } else if (d->secondaryTimer.elapsed() > d->messageTimer.interval().second) { + } else if (d->secondaryTimer.elapsed() > d->messageTimer.interval()) { // message timer is overdue to fire, force a flush messageFlush(); } - return true; } @@ -197,9 +196,9 @@ void QMailMessageBuffer::messageFlush() d->waitingForFlush.clear(); int timePerMessage = commitTimer.elapsed() / processed; - if (timePerMessage > d->lastFlushTimePerMessage && d->messageTimer.interval().first < d->maxTimeout) { + if (timePerMessage > d->lastFlushTimePerMessage && d->messageTimer.interval() < d->maxTimeout) { // increase the timeout - int interval = d->messageTimer.interval().first * d->timeoutScale; + int interval = d->messageTimer.interval() * d->timeoutScale; int actual = (interval > d->maxTimeout)? d->maxTimeout:interval; d->messageTimer.setInterval(actual); } |