From 3e131865601eb6dd7b9dd077b98f59652a9f0de5 Mon Sep 17 00:00:00 2001 From: John Preston Date: Thu, 1 May 2025 12:11:03 +0400 Subject: [PATCH] Fix right Open button in search results. --- .../dialogs/dialogs_inner_widget.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp index 970d1507de..287e108ebb 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp @@ -1790,9 +1790,10 @@ void InnerWidget::selectByMouse(QPoint globalPosition) { local.x(), mappedY); const auto selectedRightButton = (filteredSelected >= 0) - && lookupIsInBotAppButton( + ? lookupIsInBotAppButton( _filterResults[filteredSelected].row, - QPoint(local.x(), mappedY)); + QPoint(local.x(), mappedY)) + : _selectedRightButton; if (_filteredSelected != filteredSelected || _selectedTopicJump != selectedTopicJump || _selectedRightButton != selectedRightButton) { @@ -1813,10 +1814,11 @@ void InnerWidget::selectByMouse(QPoint globalPosition) { ? mouseY - skip - (peerSearchSelected * st::dialogsRowHeight) : 0; const auto selectedRightButton = (peerSearchSelected >= 0) - && _peerSearchResults[peerSearchSelected]->sponsored - && lookupIsInRightButton( - _peerSearchResults[peerSearchSelected]->sponsored->button, - QPoint(local.x(), mappedY)); + ? (_peerSearchResults[peerSearchSelected]->sponsored + && lookupIsInRightButton( + _peerSearchResults[peerSearchSelected]->sponsored->button, + QPoint(local.x(), mappedY))) + : _selectedRightButton; if (_peerSearchSelected != peerSearchSelected || _selectedRightButton != selectedRightButton) { updateSelectedRow(); @@ -2453,7 +2455,9 @@ void InnerWidget::mousePressReleased( || (hashtagPressed >= 0 && hashtagPressed == _hashtagSelected && hashtagDeletePressed == _hashtagDeleteSelected) - || (filteredPressed >= 0 && filteredPressed == _filteredSelected) + || (filteredPressed >= 0 + && filteredPressed == _filteredSelected + && pressedRightButton == _selectedRightButton) || (peerSearchPressed >= 0 && peerSearchPressed == _peerSearchSelected && pressedRightButton == _selectedRightButton)