diff --git a/Telegram/SourceFiles/history/history_inner_widget.cpp b/Telegram/SourceFiles/history/history_inner_widget.cpp index 101d8a0b4..7c3fbbcaa 100644 --- a/Telegram/SourceFiles/history/history_inner_widget.cpp +++ b/Telegram/SourceFiles/history/history_inner_widget.cpp @@ -1856,9 +1856,12 @@ std::unique_ptr<QMimeData> HistoryInner::prepareDrag() { session().data().setMimeForwardIds(std::move(forwardIds)); auto result = std::make_unique<QMimeData>(); result->setData(u"application/x-td-forward"_q, "1"); - if (const auto media = pressedView->media()) { - if (const auto document = media->getDocument()) { - const auto filepath = document->filepath(true); + if (pressedHandler) { + const auto lnkDocument = reinterpret_cast<DocumentData*>( + pressedHandler->property( + kDocumentLinkMediaProperty).toULongLong()); + if (lnkDocument) { + const auto filepath = lnkDocument->filepath(true); if (!filepath.isEmpty()) { QList<QUrl> urls; urls.push_back(QUrl::fromLocalFile(filepath)); diff --git a/Telegram/SourceFiles/history/view/history_view_list_widget.cpp b/Telegram/SourceFiles/history/view/history_view_list_widget.cpp index 410b1a337..2db6bddb8 100644 --- a/Telegram/SourceFiles/history/view/history_view_list_widget.cpp +++ b/Telegram/SourceFiles/history/view/history_view_list_widget.cpp @@ -3639,9 +3639,12 @@ std::unique_ptr<QMimeData> ListWidget::prepareDrag() { session().data().setMimeForwardIds(std::move(forwardIds)); auto result = std::make_unique<QMimeData>(); result->setData(u"application/x-td-forward"_q, "1"); - if (const auto media = pressedView->media()) { - if (const auto document = media->getDocument()) { - const auto filepath = document->filepath(true); + if (pressedHandler) { + const auto lnkDocument = reinterpret_cast<DocumentData*>( + pressedHandler->property( + kDocumentLinkMediaProperty).toULongLong()); + if (lnkDocument) { + const auto filepath = lnkDocument->filepath(true); if (!filepath.isEmpty()) { QList<QUrl> urls; urls.push_back(QUrl::fromLocalFile(filepath));