From 2d67557a91f08883e5d66b7fa20d3119e916a7b9 Mon Sep 17 00:00:00 2001 From: John Preston Date: Wed, 8 Nov 2023 21:48:30 +0400 Subject: [PATCH] Drag correct element from file album. --- Telegram/SourceFiles/history/history_inner_widget.cpp | 9 ++++++--- .../history/view/history_view_list_widget.cpp | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) 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 HistoryInner::prepareDrag() { session().data().setMimeForwardIds(std::move(forwardIds)); auto result = std::make_unique(); 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( + pressedHandler->property( + kDocumentLinkMediaProperty).toULongLong()); + if (lnkDocument) { + const auto filepath = lnkDocument->filepath(true); if (!filepath.isEmpty()) { QList 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 ListWidget::prepareDrag() { session().data().setMimeForwardIds(std::move(forwardIds)); auto result = std::make_unique(); 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( + pressedHandler->property( + kDocumentLinkMediaProperty).toULongLong()); + if (lnkDocument) { + const auto filepath = lnkDocument->filepath(true); if (!filepath.isEmpty()) { QList urls; urls.push_back(QUrl::fromLocalFile(filepath));