From 0605ea818e4e050d2cfa59083c589efcb8b65854 Mon Sep 17 00:00:00 2001 From: levlam Date: Tue, 15 Aug 2023 19:51:11 +0300 Subject: [PATCH] Pass previous media areas if they aren't edited. --- td/telegram/StoryManager.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/td/telegram/StoryManager.cpp b/td/telegram/StoryManager.cpp index 2128ada53..8a47e0a2c 100644 --- a/td/telegram/StoryManager.cpp +++ b/td/telegram/StoryManager.cpp @@ -810,7 +810,7 @@ class StoryManager::EditStoryQuery final : public Td::ResultHandler { unique_ptr pending_story_; public: - void send(FileId file_id, unique_ptr pending_story, + void send(FileId file_id, const Story *story, unique_ptr pending_story, telegram_api::object_ptr input_file, const BeingEditedStory *edited_story) { file_id_ = file_id; pending_story_ = std::move(pending_story); @@ -828,11 +828,16 @@ class StoryManager::EditStoryQuery final : public Td::ResultHandler { } vector> media_areas; if (edited_story->edit_media_areas_) { - flags |= telegram_api::stories_editStory::MEDIA_AREAS_MASK; - for (const auto &media_area : edited_story->areas_) { media_areas.push_back(media_area.get_input_media_area()); } + } else if (content != nullptr) { + for (const auto &media_area : story->areas_) { + media_areas.push_back(media_area.get_input_media_area()); + } + } + if (!media_areas.empty()) { + flags |= telegram_api::stories_editStory::MEDIA_AREAS_MASK; } vector> entities; if (edited_story->edit_caption_) { @@ -4280,7 +4285,7 @@ void StoryManager::do_edit_story(FileId file_id, unique_ptr &&pend return; } CHECK(story->content_ != nullptr); - td_->create_handler()->send(file_id, std::move(pending_story), std::move(input_file), + td_->create_handler()->send(file_id, story, std::move(pending_story), std::move(input_file), it->second.get()); }