diff --git a/Telegram/SourceFiles/history/history_inner_widget.cpp b/Telegram/SourceFiles/history/history_inner_widget.cpp index 322a7f9f12..16a0d97fe6 100644 --- a/Telegram/SourceFiles/history/history_inner_widget.cpp +++ b/Telegram/SourceFiles/history/history_inner_widget.cpp @@ -1733,16 +1733,16 @@ std::unique_ptr HistoryInner::prepareDrag() { return nullptr; } - const auto mouseActionView = viewByItem(_mouseActionItem); + const auto pressedView = viewByItem(_mouseActionItem); bool uponSelected = false; - if (mouseActionView) { + if (pressedView) { if (!_selected.empty() && _selected.cbegin()->second == FullSelection) { - uponSelected = _dragStateItem - && (_selected.find(_dragStateItem) != _selected.cend()); + uponSelected = _mouseActionItem + && (_selected.find(_mouseActionItem) != _selected.cend()); } else { StateRequest request; request.flags |= Ui::Text::StateRequest::Flag::LookupSymbol; - auto dragState = mouseActionView->textState(_dragStartPosition, request); + auto dragState = pressedView->textState(_dragStartPosition, request); uponSelected = (dragState.cursor == CursorState::Text); if (uponSelected) { if (_selected.empty() @@ -1783,19 +1783,15 @@ std::unique_ptr HistoryInner::prepareDrag() { } } return mimeData; - } else if (_dragStateItem) { - const auto view = viewByItem(_dragStateItem); - if (!view) { - return nullptr; - } + } else if (pressedView) { auto forwardIds = MessageIdsList(); if (_mouseCursorState == CursorState::Date) { - forwardIds = session().data().itemOrItsGroup(_dragStateItem); - } else if (view->isHiddenByGroup() && pressedHandler) { - forwardIds = MessageIdsList(1, _dragStateItem->fullId()); - } else if (const auto media = view->media()) { + 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, _dragStateItem->fullId()); + forwardIds = MessageIdsList(1, _mouseActionItem->fullId()); } } if (forwardIds.empty()) { @@ -1804,7 +1800,7 @@ 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 = view->media()) { + if (const auto media = pressedView->media()) { if (const auto document = media->getDocument()) { const auto filepath = document->filepath(true); if (!filepath.isEmpty()) {