X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fbuffer.cpp;fp=src%2Fclient%2Fbuffer.cpp;h=241e2e687ae8eeff26f7be1b0386b8aef1a79fae;hp=de3bfcf6d7bbb686a4a5ee672936a65395232575;hb=e416a73af88ef581b262745feeea0add49779395;hpb=df0846fca1b6a8427498a125b32f4da6d236a7fc diff --git a/src/client/buffer.cpp b/src/client/buffer.cpp index de3bfcf6..241e2e68 100644 --- a/src/client/buffer.cpp +++ b/src/client/buffer.cpp @@ -76,9 +76,11 @@ bool Buffer::layoutMsg() { void Buffer::setVisible(bool visible) { _isVisible = visible; setActivityLevel(NoActivity); - if(layoutedMsgs.isEmpty()) - return; - setLastSeenMsg(layoutedMsgs.last()->msgId()); + //if(layoutedMsgs.isEmpty()) + // return; + //setLastSeenMsg(layoutedMsgs.last()->msgId()); + if(_lastRcvdMsg.msgId() > 0) setLastSeenMsg(_lastRcvdMsg.msgId()); + //qDebug() << "setting last seen" << _lastRcvdMsg.msgId(); } void Buffer::setLastSeenMsg(const MsgId &msgId) { @@ -102,6 +104,10 @@ void Buffer::setActivityLevel(ActivityLevel level) { } void Buffer::updateActivityLevel(const Message &msg) { + // FIXME dirty hack to allow the lastSeen stuff to continue to work + // will be made much nicer once Buffer dies, I hope... + if(msg.msgId() > _lastRcvdMsg.msgId()) _lastRcvdMsg = msg; + if(isVisible()) return;