From 7c44cda76eed347928fe2cee552f1e24aca45c30 Mon Sep 17 00:00:00 2001 From: John Preston Date: Mon, 8 Apr 2024 21:56:08 +0400 Subject: [PATCH] Fix premium users deselection in multi-select field. --- Telegram/SourceFiles/boxes/edit_privacy_box.cpp | 5 +++-- Telegram/SourceFiles/boxes/peer_list_box.cpp | 8 +++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Telegram/SourceFiles/boxes/edit_privacy_box.cpp b/Telegram/SourceFiles/boxes/edit_privacy_box.cpp index 9fcb6b032..5fbb5383b 100644 --- a/Telegram/SourceFiles/boxes/edit_privacy_box.cpp +++ b/Telegram/SourceFiles/boxes/edit_privacy_box.cpp @@ -159,8 +159,6 @@ public: -> rpl::producer; private: - [[nodiscard]] std::unique_ptr createRow() const; - const not_null _session; bool _premiums = false; @@ -331,6 +329,9 @@ auto PrivacyExceptionsBoxController::preparePremiumsRowList() _deselectOption = [=](PeerListRowId itemId) { if (const auto row = _typesDelegate->peerListFindRow(itemId)) { + if (itemId == kPremiumsRowId) { + _selected.premiums = false; + } _typesDelegate->peerListSetRowChecked(row, false); } }; diff --git a/Telegram/SourceFiles/boxes/peer_list_box.cpp b/Telegram/SourceFiles/boxes/peer_list_box.cpp index 149171e5b..bda06d535 100644 --- a/Telegram/SourceFiles/boxes/peer_list_box.cpp +++ b/Telegram/SourceFiles/boxes/peer_list_box.cpp @@ -1039,11 +1039,9 @@ void PeerListContent::changeCheckState( not_null row, bool checked, anim::type animated) { - row->setChecked( - checked, - _st.item.checkbox, - animated, - [=] { updateRow(row); }); + row->setChecked(checked, _st.item.checkbox, animated, [=] { + updateRow(row); + }); } void PeerListContent::setRowHidden(not_null row, bool hidden) {