summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorMike Antipov <mantipov@productengine.com>2010-04-21 10:24:56 +0300
committerMike Antipov <mantipov@productengine.com>2010-04-21 10:24:56 +0300
commitea64706e796e90d0cd775c2113c949c2b56c898c (patch)
treeb1487c9d6174b3acdab53f48b889d63c8564cc67 /indra/newview
parent4395d8e9f1302e8efcda4b35da3b0e3ea6c36928 (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
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llcallfloater.cpp2
-rw-r--r--indra/newview/llimview.cpp6
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;
}