@@ -3273,6 +3273,18 @@ void InnerWidget::showSponsoredMenu(int peerSearchIndex, QPoint globalPos) {
32733273 const auto peer = entry->peer ;
32743274 const auto remove = crl::guard (this , [=] {
32753275 _sponsoredRemoved.emplace (peer);
3276+ if (_pressedRightButtonData) {
3277+ for (const auto &result : _peerSearchResults) {
3278+ if (result->peer == peer
3279+ && result->sponsored
3280+ && _pressedRightButtonData
3281+ == &result->sponsored ->button ) {
3282+ _pressedRightButtonData = nullptr ;
3283+ _pressedRightButton = false ;
3284+ break ;
3285+ }
3286+ }
3287+ }
32763288 _peerSearchResults.erase (
32773289 ranges::remove (
32783290 _peerSearchResults,
@@ -3601,12 +3613,17 @@ void InnerWidget::clearSearchResults(bool alsoPeerSearchResults) {
36013613}
36023614
36033615void InnerWidget::clearPeerSearchResults () {
3604- _peerSearchResults.clear ();
3605- if (_pressedRightButtonSponsored) {
3606- _pressedRightButtonData = nullptr ;
3607- _pressedRightButtonSponsored = false ;
3608- _pressedRightButton = false ;
3616+ if (_pressedRightButtonData) {
3617+ for (const auto &result : _peerSearchResults) {
3618+ if (result->sponsored
3619+ && _pressedRightButtonData == &result->sponsored ->button ) {
3620+ _pressedRightButtonData = nullptr ;
3621+ _pressedRightButton = false ;
3622+ break ;
3623+ }
3624+ }
36093625 }
3626+ _peerSearchResults.clear ();
36103627}
36113628
36123629void InnerWidget::clearPreviewResults () {
0 commit comments