From db89de96a929a9bec22848dae7d188e70fe37af9 Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 29 Jan 2021 22:07:32 +0400 Subject: [PATCH] Fix loading of voice chats participants. --- .../SourceFiles/calls/calls_group_members.cpp | 17 ++++++++++------- .../SourceFiles/calls/calls_group_members.h | 4 ---- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/Telegram/SourceFiles/calls/calls_group_members.cpp b/Telegram/SourceFiles/calls/calls_group_members.cpp index a31061f149..271fb30b7a 100644 --- a/Telegram/SourceFiles/calls/calls_group_members.cpp +++ b/Telegram/SourceFiles/calls/calls_group_members.cpp @@ -1483,7 +1483,9 @@ void MembersController::addMuteActionsToContextMenu( const auto muteAction = [&]() -> QAction* { if (muteState == Row::State::Invited || user->isSelf() - || (userIsCallAdmin && row->state() != Row::State::Active)) { + || (muteState == Row::State::Muted + && userIsCallAdmin + && _peer->canManageGroupCall())) { return nullptr; } auto callback = [=] { @@ -1653,6 +1655,13 @@ void GroupMembers::setupList() { resizeToList(); }, _list->lifetime()); + rpl::combine( + _scroll->scrollTopValue(), + _scroll->heightValue() + ) | rpl::start_with_next([=](int scrollTop, int scrollHeight) { + _list->setVisibleTopBottom(scrollTop, scrollTop + scrollHeight); + }, _scroll->lifetime()); + updateControlsGeometry(); } @@ -1754,12 +1763,6 @@ void GroupMembers::setupFakeRoundCorners() { }, lifetime()); } -void GroupMembers::visibleTopBottomUpdated( - int visibleTop, - int visibleBottom) { - setChildVisibleTopBottom(_list, visibleTop, visibleBottom); -} - void GroupMembers::peerListSetTitle(rpl::producer title) { } diff --git a/Telegram/SourceFiles/calls/calls_group_members.h b/Telegram/SourceFiles/calls/calls_group_members.h index 5d5014af7e..a0e1e1dd32 100644 --- a/Telegram/SourceFiles/calls/calls_group_members.h +++ b/Telegram/SourceFiles/calls/calls_group_members.h @@ -51,10 +51,6 @@ public: private: using ListWidget = PeerListContent; - void visibleTopBottomUpdated( - int visibleTop, - int visibleBottom) override; - void resizeEvent(QResizeEvent *e) override; // PeerListContentDelegate interface.