From f670aeb2b3ebc6fdd169769707ac25eb5e64b0df Mon Sep 17 00:00:00 2001 From: levlam Date: Fri, 19 Mar 2021 02:20:22 +0300 Subject: [PATCH] Simplify mute_updates processing. --- td/telegram/GroupCallManager.cpp | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/td/telegram/GroupCallManager.cpp b/td/telegram/GroupCallManager.cpp index 08861a924..8fc23e5e2 100644 --- a/td/telegram/GroupCallManager.cpp +++ b/td/telegram/GroupCallManager.cpp @@ -1543,19 +1543,20 @@ bool GroupCallManager::process_pending_group_call_participant_updates(InputGroup while (!pending_mute_updates.empty()) { auto it = pending_mute_updates.begin(); auto version = it->first; - if (version <= group_call->version) { - auto &participants = it->second.updates; - for (auto &participant_it : participants) { - auto &participant = participant_it.second; - on_participant_speaking_in_group_call(input_group_call_id, participant); - int mute_diff = process_group_call_participant(input_group_call_id, std::move(participant)); - CHECK(mute_diff == 0); - } - pending_mute_updates.erase(it); - continue; + if (version > group_call->version) { + break; } - on_receive_group_call_version(input_group_call_id, version); - break; + auto &participants = it->second.updates; + for (auto &participant_it : participants) { + auto &participant = participant_it.second; + on_participant_speaking_in_group_call(input_group_call_id, participant); + int mute_diff = process_group_call_participant(input_group_call_id, std::move(participant)); + CHECK(mute_diff == 0); + } + pending_mute_updates.erase(it); + } + if (!pending_mute_updates.empty()) { + on_receive_group_call_version(input_group_call_id, pending_mute_updates.begin()->first); } if (pending_version_updates.empty() && pending_mute_updates.empty()) {