From 1f95e007939e6f37cffcb57fff923a596e508e21 Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 15 Oct 2021 16:42:09 +0400 Subject: [PATCH] Fix "Copy Selected Text" appearing outside of selection. --- .../history/history_inner_widget.cpp | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Telegram/SourceFiles/history/history_inner_widget.cpp b/Telegram/SourceFiles/history/history_inner_widget.cpp index 2bad2f77f..2ed3e5992 100644 --- a/Telegram/SourceFiles/history/history_inner_widget.cpp +++ b/Telegram/SourceFiles/history/history_inner_widget.cpp @@ -1568,19 +1568,19 @@ void HistoryInner::showContextMenu(QContextMenuEvent *e, bool showFromTouch) { } else { isUponSelected = -2; } - } else { + } else if (App::mousedItem() + && App::mousedItem() == App::hoveredItem() + && _selected.cbegin()->first == App::mousedItem()->data()) { uint16 selFrom = _selected.cbegin()->second.from, selTo = _selected.cbegin()->second.to; hasSelected = (selTo > selFrom) ? 1 : 0; - if (App::mousedItem() && App::mousedItem() == App::hoveredItem()) { - auto mousePos = mapPointToItem(mapFromGlobal(_mousePosition), App::mousedItem()); - StateRequest request; - request.flags |= Ui::Text::StateRequest::Flag::LookupSymbol; - auto dragState = App::mousedItem()->textState(mousePos, request); - if (dragState.cursor == CursorState::Text - && dragState.symbol >= selFrom - && dragState.symbol < selTo) { - isUponSelected = 1; - } + auto mousePos = mapPointToItem(mapFromGlobal(_mousePosition), App::mousedItem()); + StateRequest request; + request.flags |= Ui::Text::StateRequest::Flag::LookupSymbol; + auto dragState = App::mousedItem()->textState(mousePos, request); + if (dragState.cursor == CursorState::Text + && dragState.symbol >= selFrom + && dragState.symbol < selTo) { + isUponSelected = 1; } } }