From 2805ecaa66279b2741cdce24a1659f7783a2c3d9 Mon Sep 17 00:00:00 2001 From: levlam Date: Mon, 10 Jul 2023 15:58:56 +0300 Subject: [PATCH] Fix on_update_user_max_read_story_id usage. --- td/telegram/StoryManager.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/td/telegram/StoryManager.cpp b/td/telegram/StoryManager.cpp index f4568554c..2616d5c5e 100644 --- a/td/telegram/StoryManager.cpp +++ b/td/telegram/StoryManager.cpp @@ -2625,13 +2625,19 @@ bool StoryManager::on_update_read_stories(DialogId owner_dialog_id, StoryId max_ if (owner_dialog_id == DialogId(td_->contacts_manager_->get_my_id())) { return false; } + if (!td_->messages_manager_->have_dialog_info_force(owner_dialog_id)) { + return false; + } auto active_stories = get_active_stories(owner_dialog_id); if (active_stories == nullptr) { auto old_max_read_story_id = max_read_story_ids_.get(owner_dialog_id); if (max_read_story_id.get() > old_max_read_story_id.get()) { max_read_story_ids_.set(owner_dialog_id, max_read_story_id); if (owner_dialog_id.get_type() == DialogType::User) { - td_->contacts_manager_->on_update_user_max_read_story_id(owner_dialog_id.get_user_id(), max_read_story_id); + auto user_id = owner_dialog_id.get_user_id(); + if (td_->contacts_manager_->have_user(user_id)) { + td_->contacts_manager_->on_update_user_max_read_story_id(user_id, max_read_story_id); + } } return true; }