From 30d912bd4b145afb8d494b307d37645ffa21ec29 Mon Sep 17 00:00:00 2001 From: levlam Date: Sat, 26 Dec 2020 01:05:24 +0300 Subject: [PATCH] Set is_pinned flag for last_pinned_message_id. --- td/telegram/MessagesManager.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index c5611499e..7a57c2762 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -28776,6 +28776,10 @@ void MessagesManager::on_update_dialog_last_pinned_message_id(DialogId dialog_id d->is_last_pinned_message_id_inited = true; on_dialog_updated(dialog_id, "on_update_dialog_last_pinned_message_id"); } + Message *m = get_message_force(d, pinned_message_id, "on_update_dialog_last_pinned_message_id"); + if (m != nullptr && update_message_is_pinned(d, m, true, "on_update_dialog_last_pinned_message_id")) { + on_message_changed(d, m, true, "on_update_dialog_last_pinned_message_id"); + } return; } @@ -28784,6 +28788,11 @@ void MessagesManager::on_update_dialog_last_pinned_message_id(DialogId dialog_id void MessagesManager::set_dialog_last_pinned_message_id(Dialog *d, MessageId pinned_message_id) { CHECK(d != nullptr); + Message *m = get_message_force(d, pinned_message_id, "set_dialog_last_pinned_message_id"); + if (m != nullptr && update_message_is_pinned(d, m, true, "set_dialog_last_pinned_message_id")) { + on_message_changed(d, m, true, "set_dialog_last_pinned_message_id"); + } + if (d->last_pinned_message_id == pinned_message_id) { return; }