diff options
| -rw-r--r-- | indra/newview/llvoicewebrtc.cpp | 21 | 
1 files changed, 14 insertions, 7 deletions
| diff --git a/indra/newview/llvoicewebrtc.cpp b/indra/newview/llvoicewebrtc.cpp index 387016f9af..4c3ab11623 100644 --- a/indra/newview/llvoicewebrtc.cpp +++ b/indra/newview/llvoicewebrtc.cpp @@ -549,13 +549,19 @@ void LLWebRTCVoiceClient::voiceConnectionCoro()                      updatePosition();                  }              } - -            sessionState::processSessionStates(); -            if (mProcessChannels && voiceEnabled && !mHidden) -            { -                sendPositionUpdate(false); -                updateOwnVolume(); -            } +            LL::WorkQueue::postMaybe(mMainQueue, +                [=] { +                    if  (sShuttingDown) +                    { +                        return; +                    } +                    sessionState::processSessionStates(); +                    if (mProcessChannels && voiceEnabled && !mHidden) +                    { +                        sendPositionUpdate(false); +                        updateOwnVolume(); +                    } +            });          }      }      catch (const LLCoros::Stop&) @@ -2221,6 +2227,7 @@ void LLVoiceWebRTCConnection::OnIceCandidate(const llwebrtc::LLWebRTCIceCandidat  void LLVoiceWebRTCConnection::processIceUpdates()  {      mOutstandingRequests++; +      LLCoros::getInstance()->launch("LLVoiceWebRTCConnection::processIceUpdatesCoro",                                     boost::bind(&LLVoiceWebRTCConnection::processIceUpdatesCoro, this->shared_from_this()));  } | 
