diff options
author | Brad Linden <46733234+brad-linden@users.noreply.github.com> | 2024-08-21 09:49:54 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-21 09:49:54 -0700 |
commit | 27fa9b81385b2cdce2c4c26cd0c069ccb4d4bc82 (patch) | |
tree | b0bfde435f675ca7a29573a22914d9cf03dfc2c9 | |
parent | 738b39fbab2b46b2085c220be7bbced0d43fb823 (diff) | |
parent | 7b1d1852c291a9c092961c2f51f0160e0e7da1e6 (diff) |
Merge pull request #2372 from secondlife/roxie/webrtc-fix-mac-p2p-hang
Fix hang when incoming p2p or group calls throw up dialog.
-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())); } |