Fixed normal bug EXT-6909 ('Mute/unmute' moderation options remain enaibled after moderator left group call)

Reason: session's Speaker Manager was not updated when voice call ended. Speakers had incorrect voice related state.

Fix: update speakers' state when voice call is finished.
   Also VCP now uses LLIMMgr::endCall to perform "Leave Call" action.

Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/276/

--HG--
branch : product-engine
meow-7.2.2
Mike Antipov 2010-04-21 10:24:56 +03:00
parent 4395d8e9f1
commit ea64706e79
2 changed files with 7 additions and 1 deletions

View File

@ -228,7 +228,7 @@ void LLCallFloater::leaveCall()
LLVoiceChannel* voice_channel = LLVoiceChannel::getCurrentVoiceChannel();
if (voice_channel)
{
voice_channel->deactivate();
gIMMgr->endCall(voice_channel->getSessionID());
}
}

View File

@ -2744,6 +2744,12 @@ bool LLIMMgr::endCall(const LLUUID& session_id)
if (!voice_channel) return false;
voice_channel->deactivate();
LLIMModel::LLIMSession* im_session = LLIMModel::getInstance()->findIMSession(session_id);
if (im_session)
{
// need to update speakers' state
im_session->mSpeakers->update(FALSE);
}
return true;
}