From 3f4011364be12be86fc73a08fd8b2818081f3fb1 Mon Sep 17 00:00:00 2001 From: levlam Date: Fri, 29 May 2020 05:24:37 +0300 Subject: [PATCH] Ignore updateDialogPinned for dialog not from dialog list. GitOrigin-RevId: c0e0c8fe9a07bc47d649b2f71f93ed4e4c44a75a --- td/telegram/MessagesManager.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index e3754a081..1b858329c 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -25744,10 +25744,16 @@ void MessagesManager::on_update_dialog_is_pinned(FolderId folder_id, DialogId di auto d = get_dialog_force(dialog_id); if (d == nullptr) { - LOG(INFO) << "Can't apply updateDialogPinned with unknown " << dialog_id; + LOG(INFO) << "Can't apply updateDialogPinned in " << folder_id << " with unknown " << dialog_id; on_update_pinned_dialogs(folder_id); return; } + if (d->order == DEFAULT_ORDER) { + // the chat can't be pinned or is already unpinned + // don't change it's folder_id + LOG(INFO) << "Can't apply updateDialogPinned in " << folder_id << " with " << dialog_id; + return; + } set_dialog_folder_id(d, folder_id); set_dialog_is_pinned(DialogListId(folder_id), d, is_pinned);