From 05b2dd913fcb1c5485ce19885e4e60f26752e6b0 Mon Sep 17 00:00:00 2001
From: Roxie Linden <roxie@lindenlab.com>
Date: Thu, 2 May 2024 13:15:44 -0700
Subject: [PATCH] Update the participant's region when crossing region
 boundaries.

---
 indra/newview/llvoicewebrtc.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/indra/newview/llvoicewebrtc.cpp b/indra/newview/llvoicewebrtc.cpp
index 7c438dfa9a0..ddbe2eb5522 100644
--- a/indra/newview/llvoicewebrtc.cpp
+++ b/indra/newview/llvoicewebrtc.cpp
@@ -553,6 +553,7 @@ void LLWebRTCVoiceClient::updateNeighboringRegions()
     // Estate voice requires connection to neighboring regions.
     mNeighboringRegions.clear();
 
+    // add current region.
     mNeighboringRegions.insert(gAgent.getRegion()->getRegionID());
 
     // base off of speaker position as it'll move more slowly than camera position.
@@ -924,6 +925,13 @@ void LLWebRTCVoiceClient::updatePosition(void)
         enforceTether();
 
         updateNeighboringRegions();
+
+        // update own region id to be the region id avatar is currently in.
+        LLWebRTCVoiceClient::participantStatePtr_t participant = findParticipantByID("Estate", gAgentID);
+        if(participant)
+        {
+            participant->mRegion = gAgent.getRegion()->getRegionID();
+        }
     }
 }
 
-- 
GitLab