From b6d925227969cc657f265742e4f7a271340da393 Mon Sep 17 00:00:00 2001 From: levlam Date: Sun, 3 Oct 2021 15:12:56 +0300 Subject: [PATCH] Update message_count_by_index even there is no message database. --- td/telegram/MessagesManager.cpp | 45 ++++++++++++++++----------------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index f8616f7fa..a9d610ac0 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -9734,29 +9734,28 @@ void MessagesManager::on_get_dialog_messages_search_result(DialogId dialog_id, c bool from_the_end = !from_message_id.is_valid() || (d->last_message_id != MessageId() && from_message_id > d->last_message_id) || from_message_id >= MessageId::max(); - if (G()->parameters().use_message_db) { - bool update_dialog = false; + bool update_dialog = false; - auto &old_message_count = d->message_count_by_index[message_search_filter_index(filter)]; - if (old_message_count != total_count) { - old_message_count = total_count; - if (filter == MessageSearchFilter::UnreadMention) { - d->unread_mention_count = old_message_count; - update_dialog_mention_notification_count(d); - send_update_chat_unread_mention_count(d); - } - update_dialog = true; + auto &old_message_count = d->message_count_by_index[message_search_filter_index(filter)]; + if (old_message_count != total_count) { + old_message_count = total_count; + if (filter == MessageSearchFilter::UnreadMention) { + d->unread_mention_count = old_message_count; + update_dialog_mention_notification_count(d); + send_update_chat_unread_mention_count(d); } + update_dialog = true; + } - auto &old_first_db_message_id = d->first_database_message_id_by_index[message_search_filter_index(filter)]; - if ((from_the_end || (old_first_db_message_id.is_valid() && old_first_db_message_id <= from_message_id)) && - (!old_first_db_message_id.is_valid() || first_added_message_id < old_first_db_message_id)) { - old_first_db_message_id = first_added_message_id; - update_dialog = true; - } - if (update_dialog) { - on_dialog_updated(dialog_id, "search results"); - } + auto &old_first_database_message_id = d->first_database_message_id_by_index[message_search_filter_index(filter)]; + if ((from_the_end || + (old_first_database_message_id.is_valid() && old_first_database_message_id <= from_message_id)) && + (!old_first_database_message_id.is_valid() || first_added_message_id < old_first_database_message_id)) { + old_first_database_message_id = first_added_message_id; + update_dialog = true; + } + if (update_dialog) { + on_dialog_updated(dialog_id, "search results"); } if (from_the_end && filter == MessageSearchFilter::Pinned) { @@ -9801,9 +9800,9 @@ void MessagesManager::on_get_dialog_message_count(DialogId dialog_id, MessageSea } if (total_count == 0) { - auto &old_first_db_message_id = d->first_database_message_id_by_index[message_search_filter_index(filter)]; - if (old_first_db_message_id != MessageId::min()) { - old_first_db_message_id = MessageId::min(); + auto &old_first_database_message_id = d->first_database_message_id_by_index[message_search_filter_index(filter)]; + if (old_first_database_message_id != MessageId::min()) { + old_first_database_message_id = MessageId::min(); on_dialog_updated(dialog_id, "on_get_dialog_message_count"); } if (filter == MessageSearchFilter::Pinned) {