diff options
author | Roxie Linden <roxie@lindenlab.com> | 2024-05-02 11:07:36 -0700 |
---|---|---|
committer | Roxie Linden <roxie@lindenlab.com> | 2024-05-02 11:07:36 -0700 |
commit | 07c3095a785864b39b03d979d43b7d0d7a932a81 (patch) | |
tree | 07517bced047ae3f0fa2c6f08518c6b897be1146 /indra/newview/llvoicewebrtc.cpp | |
parent | f9cb9a2b057b2ebc2e1f5cbf479e56595c0fdfb8 (diff) |
Unregister requested data channel when using the negotiated one.
When creating a new connection, the viewer builds a data channel interface.
It then gets a new one, which is a proxy. The viewer uses the new one,
and therefore must unregister the callbacks from the old one.
Also, update the position data before sending it after the join is sent.
Diffstat (limited to 'indra/newview/llvoicewebrtc.cpp')
-rw-r--r-- | indra/newview/llvoicewebrtc.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/indra/newview/llvoicewebrtc.cpp b/indra/newview/llvoicewebrtc.cpp index 0823358e03..7c438dfa9a 100644 --- a/indra/newview/llvoicewebrtc.cpp +++ b/indra/newview/llvoicewebrtc.cpp @@ -2688,7 +2688,11 @@ bool LLVoiceWebRTCConnection::connectionStateMachine() { sendJoin(); // tell the Secondlife WebRTC server that we're here via the data channel. setVoiceConnectionState(VOICE_STATE_SESSION_UP); - LLWebRTCVoiceClient::getInstance()->sendPositionUpdate(true); + if (isSpatial()) + { + LLWebRTCVoiceClient::getInstance()->updatePosition(); + LLWebRTCVoiceClient::getInstance()->sendPositionUpdate(true); + } } break; } |