diff --git a/Telegram/SourceFiles/ayu/features/messageshot/message_shot.cpp b/Telegram/SourceFiles/ayu/features/messageshot/message_shot.cpp index 3e1d579d5..051fb0711 100644 --- a/Telegram/SourceFiles/ayu/features/messageshot/message_shot.cpp +++ b/Telegram/SourceFiles/ayu/features/messageshot/message_shot.cpp @@ -237,7 +237,7 @@ QImage addPadding(const QImage &original, int padding) { QImage Make(not_null box, const ShotConfig &config) { const auto controller = config.controller; const auto st = config.st; - const auto messages = config.messages; + auto messages = config.messages; if (messages.empty()) { return {}; @@ -252,6 +252,21 @@ QImage Make(not_null box, const ShotConfig &config) { box->update(); }); + // remove deleted messages + messages.erase( + std::ranges::remove_if( + messages, + [=](const auto &message) + { + return !message || !controller->session().data().message(message->fullId()); + }).begin(), + messages.end() + ); + + if (messages.empty()) { + return {}; + } + std::unordered_map, std::shared_ptr> createdViews; createdViews.reserve(messages.size()); for (const auto &message : messages) {