diff options
| author | Nat Goodspeed <nat@lindenlab.com> | 2015-12-04 16:09:15 -0500 |
|---|---|---|
| committer | Nat Goodspeed <nat@lindenlab.com> | 2015-12-04 16:09:15 -0500 |
| commit | d69a0e692e420e5b95e9bcb4ad1e7c5cfa283468 (patch) | |
| tree | dba5f50b894e52ad961f599702f3da801e3518b9 /indra/newview/llagent.cpp | |
| parent | c4de6b93d3c3f182fc7bf28e5c285e4d14da0764 (diff) | |
| parent | 6ed6158ac68076b6a6242a3a74a3394846227e04 (diff) | |
Automated merge with ssh://bitbucket.org/nat_linden/viewer-no-leap-test
Diffstat (limited to 'indra/newview/llagent.cpp')
| -rwxr-xr-x | indra/newview/llagent.cpp | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 297bd9a05b..3f32be1d68 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -275,9 +275,24 @@ bool LLAgent::isActionAllowed(const LLSD& sdname) if (param == "speak") { - if ( gAgent.isVoiceConnected() && - LLViewerParcelMgr::getInstance()->allowAgentVoice() && - ! LLVoiceClient::getInstance()->inTuningMode() ) + bool allow_agent_voice = false; + LLVoiceChannel* channel = LLVoiceChannel::getCurrentVoiceChannel(); + if (channel != NULL) + { + if (channel->getSessionName().empty() && channel->getSessionID().isNull()) + { + // default channel + allow_agent_voice = LLViewerParcelMgr::getInstance()->allowAgentVoice(); + } + else + { + allow_agent_voice = channel->isActive() && channel->callStarted(); + } + } + + if (gAgent.isVoiceConnected() && + allow_agent_voice && + !LLVoiceClient::getInstance()->inTuningMode()) { retval = true; } |
