- AbstractChatView *chatView = 0;
- Buffer *prevBuffer = Client::buffer(currentBuffer());
- if(prevBuffer) prevBuffer->setVisible(false);
-
- Buffer *buf;
- if(!bufferId.isValid() || !(buf = Client::buffer(bufferId))) {
- if(bufferId.isValid())
- qWarning() << "AbstractBufferContainer::setBuffer(BufferId): Can't show unknown Buffer:" << bufferId;
+ BufferId prevBufferId = currentBuffer();
+ if(prevBufferId.isValid() && _chatViews.contains(prevBufferId)) {
+ MsgId msgId = _chatViews.value(prevBufferId)->lastMsgId();
+ Client::setBufferLastSeenMsg(prevBufferId, msgId);
+ if(autoSetMarkerLine())
+ Client::setBufferMarkerLine(prevBufferId, msgId);
+ }
+
+ if(!bufferId.isValid()) {