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);