diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index bf5f8768f..2791c38cb 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -10290,7 +10290,6 @@ void MessagesManager::set_dialog_pinned_message_notification(Dialog *d, MessageI if (old_message_id == message_id) { return; } - CHECK(old_message_id != message_id); VLOG(notifications) << "Change pinned message notification in " << d->dialog_id << " from " << old_message_id << " to " << message_id; if (old_message_id.is_valid()) { @@ -19213,6 +19212,10 @@ bool MessagesManager::add_new_message_notification(Dialog *d, Message *m, bool f if (is_pinned) { set_dialog_pinned_message_notification(d, from_mentions ? m->message_id : MessageId()); } + if (!m->notification_id.is_valid()) { + // protection from accidental notification_id removal in set_dialog_pinned_message_notification + return false; + } VLOG(notifications) << "Create " << m->notification_id << " with " << m->message_id << " in " << group_info.group_id << '/' << d->dialog_id; int32 min_delay_ms = 0;