diff --git a/Telegram/SourceFiles/history/history_inner_widget.cpp b/Telegram/SourceFiles/history/history_inner_widget.cpp index c35035854d129d..48db2a0770a3a6 100644 --- a/Telegram/SourceFiles/history/history_inner_widget.cpp +++ b/Telegram/SourceFiles/history/history_inner_widget.cpp @@ -1749,12 +1749,13 @@ std::unique_ptr HistoryInner::prepareDrag() { forwardIds = getSelectedItems(); } else if (_mouseCursorState == CursorState::Date) { forwardIds = session().data().itemOrItsGroup(_mouseActionItem); - } else if (pressedView->isHiddenByGroup() && pressedHandler) { - forwardIds = MessageIdsList(1, _mouseActionItem->fullId()); - } else if (const auto media = pressedView->media()) { - if (media->dragItemByHandler(pressedHandler)) { - forwardIds = MessageIdsList(1, _mouseActionItem->fullId()); - } + } else if ((pressedView->isHiddenByGroup() && pressedHandler) + || (pressedView->media() + && pressedView->media()->dragItemByHandler(pressedHandler))) { + const auto item = _dragStateItem + ? _dragStateItem + : _mouseActionItem; + forwardIds = MessageIdsList(1, item->fullId()); } if (forwardIds.empty()) { return nullptr;