diff options
author | Roxie Linden <roxie@lindenlab.com> | 2024-09-11 15:58:56 -0700 |
---|---|---|
committer | Roxie Linden <roxie@lindenlab.com> | 2024-09-11 15:58:56 -0700 |
commit | f78b43bd1d4a96db32a64e18d88c3768531ceee8 (patch) | |
tree | d6d935b988b97e42b813e0ddbb11a74a2b1c017e /indra/newview/llvoicewebrtc.cpp | |
parent | f90712b9837957f2a0d11386c6bf48e9a48ff745 (diff) |
Fix issue with improper reporting as to whether voice is working.
This fixes #1436, an issue where the 'call button' sometimes got greyed
out when it shouldn't have been.
Vivox is now 'working' (and the call button can be enabled) when it's logged in.
WebRTC is 'working' (and the call button can be enabled) when the coroutine is active.
Diffstat (limited to 'indra/newview/llvoicewebrtc.cpp')
-rw-r--r-- | indra/newview/llvoicewebrtc.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/indra/newview/llvoicewebrtc.cpp b/indra/newview/llvoicewebrtc.cpp index 7de8cf9cb1..4084e5ab76 100644 --- a/indra/newview/llvoicewebrtc.cpp +++ b/indra/newview/llvoicewebrtc.cpp @@ -420,7 +420,7 @@ void LLWebRTCVoiceClient::notifyStatusObservers(LLVoiceClientStatusObserver::ESt status != LLVoiceClientStatusObserver::STATUS_LEFT_CHANNEL && status != LLVoiceClientStatusObserver::STATUS_VOICE_DISABLED) { - bool voice_status = LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking(); + bool voice_status = LLVoiceClient::getInstance()->voiceEnabled() && mIsProcessingChannels; gAgent.setVoiceConnected(voice_status); @@ -1335,7 +1335,10 @@ bool LLWebRTCVoiceClient::startAdHocSession(const LLSD& channelInfo, bool notify bool LLWebRTCVoiceClient::isVoiceWorking() const { - return mIsProcessingChannels; + // webrtc is working if the coroutine is active in the case of + // webrtc. WebRTC doesn't need to connect to a secondary process + // or a login server to become active. + return mIsCoroutineActive; } // Returns true if calling back the session URI after the session has closed is possible. |