diff --git a/ui/widgets/labels.cpp b/ui/widgets/labels.cpp index 8b75997..a1aaeb2 100644 --- a/ui/widgets/labels.cpp +++ b/ui/widgets/labels.cpp @@ -687,7 +687,7 @@ void FlatLabel::showContextMenu(QContextMenuEvent *e, ContextMenuReason reason) const auto request = ContextMenuRequest{ .menu = _contextMenu.get(), .link = ClickHandler::getActive(), - .hasSelection = hasSelection, + .selection = _selectable ? _selection : TextSelection(), .uponSelection = uponSelection, .fullSelection = _selectable && _text.isFullSelection(_selection), }; @@ -716,7 +716,7 @@ void FlatLabel::fillContextMenu(ContextMenuRequest request) { Integration::Instance().phraseContextCopySelected(), [=] { copySelectedText(); }); } else if (_selectable - && !request.hasSelection + && request.selection.empty() && !_contextCopyText.isEmpty()) { request.menu->addAction( _contextCopyText, diff --git a/ui/widgets/labels.h b/ui/widgets/labels.h index bbea9e8..d43e9ac 100644 --- a/ui/widgets/labels.h +++ b/ui/widgets/labels.h @@ -158,7 +158,7 @@ public: struct ContextMenuRequest { not_null menu; ClickHandlerPtr link; - bool hasSelection = false; + TextSelection selection; bool uponSelection = false; bool fullSelection = false; };