Properly flushing buffers after all backlog was received.
[quassel.git] / src / client / clientbacklogmanager.cpp
index 476fa10..0a02e4e 100644 (file)
@@ -56,7 +56,8 @@ void ClientBacklogManager::receiveBacklog(BufferId bufferId, MsgId first, MsgId
     bool lastPart = !_requester->buffer(bufferId, msglist);
     updateProgress(_requester->totalBuffers() - _requester->buffersWaiting(), _requester->totalBuffers());
     if(lastPart) {
-      stopBuffering();
+      dispatchMessages(_requester->bufferedMessages(), true);
+      _requester->flushBuffer();
     }
   } else {
     dispatchMessages(msglist);
@@ -132,11 +133,6 @@ void ClientBacklogManager::checkForBacklog(const QList<BufferId> &bufferIds) {
   };
 }
 
-void ClientBacklogManager::stopBuffering() {
-  Q_ASSERT(_requester);
-  dispatchMessages(_requester->bufferedMessages(), true);
-}
-
 bool ClientBacklogManager::isBuffering() {
   return _requester && _requester->isBuffering();
 }