Update message_count_by_index even there is no message database.
This commit is contained in:
parent
11af0a058d
commit
b6d9252279
@ -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() ||
|
bool from_the_end = !from_message_id.is_valid() ||
|
||||||
(d->last_message_id != MessageId() && from_message_id > d->last_message_id) ||
|
(d->last_message_id != MessageId() && from_message_id > d->last_message_id) ||
|
||||||
from_message_id >= MessageId::max();
|
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)];
|
auto &old_message_count = d->message_count_by_index[message_search_filter_index(filter)];
|
||||||
if (old_message_count != total_count) {
|
if (old_message_count != total_count) {
|
||||||
old_message_count = total_count;
|
old_message_count = total_count;
|
||||||
if (filter == MessageSearchFilter::UnreadMention) {
|
if (filter == MessageSearchFilter::UnreadMention) {
|
||||||
d->unread_mention_count = old_message_count;
|
d->unread_mention_count = old_message_count;
|
||||||
update_dialog_mention_notification_count(d);
|
update_dialog_mention_notification_count(d);
|
||||||
send_update_chat_unread_mention_count(d);
|
send_update_chat_unread_mention_count(d);
|
||||||
}
|
|
||||||
update_dialog = true;
|
|
||||||
}
|
}
|
||||||
|
update_dialog = true;
|
||||||
|
}
|
||||||
|
|
||||||
auto &old_first_db_message_id = d->first_database_message_id_by_index[message_search_filter_index(filter)];
|
auto &old_first_database_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)) &&
|
if ((from_the_end ||
|
||||||
(!old_first_db_message_id.is_valid() || first_added_message_id < old_first_db_message_id)) {
|
(old_first_database_message_id.is_valid() && old_first_database_message_id <= from_message_id)) &&
|
||||||
old_first_db_message_id = first_added_message_id;
|
(!old_first_database_message_id.is_valid() || first_added_message_id < old_first_database_message_id)) {
|
||||||
update_dialog = true;
|
old_first_database_message_id = first_added_message_id;
|
||||||
}
|
update_dialog = true;
|
||||||
if (update_dialog) {
|
}
|
||||||
on_dialog_updated(dialog_id, "search results");
|
if (update_dialog) {
|
||||||
}
|
on_dialog_updated(dialog_id, "search results");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (from_the_end && filter == MessageSearchFilter::Pinned) {
|
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) {
|
if (total_count == 0) {
|
||||||
auto &old_first_db_message_id = d->first_database_message_id_by_index[message_search_filter_index(filter)];
|
auto &old_first_database_message_id = d->first_database_message_id_by_index[message_search_filter_index(filter)];
|
||||||
if (old_first_db_message_id != MessageId::min()) {
|
if (old_first_database_message_id != MessageId::min()) {
|
||||||
old_first_db_message_id = MessageId::min();
|
old_first_database_message_id = MessageId::min();
|
||||||
on_dialog_updated(dialog_id, "on_get_dialog_message_count");
|
on_dialog_updated(dialog_id, "on_get_dialog_message_count");
|
||||||
}
|
}
|
||||||
if (filter == MessageSearchFilter::Pinned) {
|
if (filter == MessageSearchFilter::Pinned) {
|
||||||
|
Loading…
Reference in New Issue
Block a user