summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
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;
}