mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-04-01 00:08:02 +00:00
Fix assertion violation in marking history as read.
This commit is contained in:
parent
d9ad3a4bbe
commit
4e8c57a861
@ -6001,6 +6001,11 @@ void ApiWrap::sendReadRequest(not_null<PeerData*> peer, MsgId upTo) {
|
||||
_readRequests.remove(peer);
|
||||
if (const auto next = _readRequestsPending.take(peer)) {
|
||||
sendReadRequest(peer, *next);
|
||||
} else if (const auto history
|
||||
= _session->data().historyLoaded(peer)) {
|
||||
if (!history->unreadCountKnown()) {
|
||||
requestDialogEntry(history);
|
||||
}
|
||||
}
|
||||
};
|
||||
if (const auto channel = peer->asChannel()) {
|
||||
|
@ -1553,7 +1553,9 @@ void History::readClientSideMessages() {
|
||||
|
||||
MsgId History::readInbox() {
|
||||
const auto upTo = msgIdForRead();
|
||||
setUnreadCount(0);
|
||||
if (unreadCountKnown()) {
|
||||
setUnreadCount(0);
|
||||
}
|
||||
readClientSideMessages();
|
||||
if (upTo) {
|
||||
inboxRead(upTo);
|
||||
@ -3022,7 +3024,9 @@ void History::clear(ClearType type) {
|
||||
} else {
|
||||
_notifications.clear();
|
||||
owner().notifyHistoryCleared(this);
|
||||
setUnreadCount(0);
|
||||
if (unreadCountKnown()) {
|
||||
setUnreadCount(0);
|
||||
}
|
||||
if (type == ClearType::DeleteChat) {
|
||||
setLastMessage(nullptr);
|
||||
} else if (_lastMessage && *_lastMessage) {
|
||||
|
Loading…
Reference in New Issue
Block a user