X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fmessagemodel.cpp;h=0cc31a181f4953737a52614337422860d468601f;hp=ba5db096efe93b3388607491d773f7fccfd339e9;hb=4ae8f86c1ce452582d6fe576956c7c1bc1460adf;hpb=91d4d49abb5e1a8dabba5ae5e460981afda0a354 diff --git a/src/client/messagemodel.cpp b/src/client/messagemodel.cpp index ba5db096..0cc31a18 100644 --- a/src/client/messagemodel.cpp +++ b/src/client/messagemodel.cpp @@ -307,10 +307,12 @@ void MessageModel::customEvent(QEvent *event) { } void MessageModel::clear() { - beginRemoveRows(QModelIndex(), 0, rowCount() - 1); - removeAllMessages(); - endRemoveRows(); _messagesWaiting.clear(); + if (rowCount() > 0) { + beginRemoveRows(QModelIndex(), 0, rowCount() - 1); + removeAllMessages(); + endRemoveRows(); + } } // returns index of msg with given Id or of the next message after that (i.e., the index where we'd insert this msg) @@ -385,8 +387,10 @@ void MessageModel::messagesReceived(BufferId bufferId, int count) { return; _messagesWaiting[bufferId] -= count; - if(_messagesWaiting[bufferId] <= 0) + if(_messagesWaiting[bufferId] <= 0) { _messagesWaiting.remove(bufferId); + emit finishedBacklogFetch(bufferId); + } } void MessageModel::buffersPermanentlyMerged(BufferId bufferId1, BufferId bufferId2) {