Fix crash in legacy groups speaking typings handling.

This commit is contained in:
John Preston 2020-12-23 14:45:37 +04:00
parent b7216c40fc
commit dfee8238c6

View file

@ -928,6 +928,9 @@ void Updates::handleSendActionUpdate(
const auto isSpeakingInCall = (action.type() const auto isSpeakingInCall = (action.type()
== mtpc_speakingInGroupCallAction); == mtpc_speakingInGroupCallAction);
if (isSpeakingInCall) { if (isSpeakingInCall) {
if (!peer->isChat() && !peer->isChannel()) {
return;
}
const auto call = peer->groupCall(); const auto call = peer->groupCall();
const auto now = crl::now(); const auto now = crl::now();
if (call) { if (call) {
@ -943,8 +946,8 @@ void Updates::handleSendActionUpdate(
: (channel->flags() & MTPDchannel::Flag::f_call_active); : (channel->flags() & MTPDchannel::Flag::f_call_active);
if (active) { if (active) {
_pendingSpeakingCallMembers.emplace( _pendingSpeakingCallMembers.emplace(
channel).first->second[userId] = now; peer).first->second[userId] = now;
session().api().requestFullPeer(channel); session().api().requestFullPeer(peer);
} }
} }
} }