diff options
author | Mike Antipov <mantipov@productengine.com> | 2010-04-21 10:24:56 +0300 |
---|---|---|
committer | Mike Antipov <mantipov@productengine.com> | 2010-04-21 10:24:56 +0300 |
commit | ea64706e796e90d0cd775c2113c949c2b56c898c (patch) | |
tree | b1487c9d6174b3acdab53f48b889d63c8564cc67 | |
parent | 4395d8e9f1302e8efcda4b35da3b0e3ea6c36928 (diff) |
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
-rw-r--r-- | indra/newview/llcallfloater.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llimview.cpp | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index d15c5f9bf4..5a96613870 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -228,7 +228,7 @@ void LLCallFloater::leaveCall() LLVoiceChannel* voice_channel = LLVoiceChannel::getCurrentVoiceChannel(); if (voice_channel) { - voice_channel->deactivate(); + gIMMgr->endCall(voice_channel->getSessionID()); } } diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 4357c7d426..909878207c 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -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; } |