diff --git a/Telegram/SourceFiles/data/data_file_origin.cpp b/Telegram/SourceFiles/data/data_file_origin.cpp index 3e629500b1..ffeb2f719e 100644 --- a/Telegram/SourceFiles/data/data_file_origin.cpp +++ b/Telegram/SourceFiles/data/data_file_origin.cpp @@ -119,6 +119,15 @@ struct FileReferenceAccumulator { push(data.vextended_media()); }, [&](const MTPDmessageMediaPaidMedia &data) { push(data.vextended_media()); + }, [&](const MTPDmessageMediaPoll &data) { + push(data.vattached_media()); + for (const auto &answer : data.vpoll().data().vanswers().v) { + answer.match([&](const MTPDpollAnswer &a) { + push(a.vmedia()); + }, [](const auto &) { + }); + } + push(data.vresults().data().vsolution_media()); }, [](const auto &data) { }); } diff --git a/Telegram/SourceFiles/data/data_poll.cpp b/Telegram/SourceFiles/data/data_poll.cpp index bc77e21a31..dc999cae1f 100644 --- a/Telegram/SourceFiles/data/data_poll.cpp +++ b/Telegram/SourceFiles/data/data_poll.cpp @@ -391,15 +391,15 @@ PollMedia PollMediaFromMTP( auto result = PollMedia(); media.match([&](const MTPDmessageMediaPhoto &data) { if (const auto photo = data.vphoto()) { - photo->match([&](const MTPDphoto &d) { - result.photo = owner->photo(d.vid().v); + photo->match([&](const MTPDphoto &) { + result.photo = owner->processPhoto(*photo); }, [](const auto &) { }); } }, [&](const MTPDmessageMediaDocument &data) { if (const auto document = data.vdocument()) { - document->match([&](const MTPDdocument &d) { - result.document = owner->document(d.vid().v); + document->match([&](const MTPDdocument &) { + result.document = owner->processDocument(*document); }, [](const auto &) { }); }