From f58a1060681efdd1fe0e9f856fa16b8d93862337 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 4 Jan 2019 01:55:18 +0000 Subject: broadcast position updates after tp --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index fd8c6fc..7e20592 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2338,10 +2338,17 @@ namespace OpenSim.Region.Framework.Scenes m_agentTransfer.EnableChildAgents(this); } } - // let updates be sent, with some delay - m_lastChildUpdatesTime = Util.EnvironmentTickCount() + 10000; + if(gotCrossUpdate) + { + m_lastChildUpdatesTime = Util.EnvironmentTickCount() + 10000; + m_lastChildAgentUpdateDrawDistance = DrawDistance; + } + else + { + m_lastChildUpdatesTime = 0; + m_lastChildAgentUpdateDrawDistance = -1000; + } m_lastChildAgentUpdateGodLevel = GodController.ViwerUIGodLevel; - m_lastChildAgentUpdateDrawDistance = DrawDistance; m_lastChildAgentUpdatePosition = AbsolutePosition; m_childUpdatesBusy = false; // allow them } @@ -4321,10 +4328,7 @@ namespace OpenSim.Region.Framework.Scenes return; //possible KnownRegionHandles always contains current region and this check is not needed - int minhandles = 0; - if(KnownRegionHandles.Contains(RegionHandle)) - minhandles++; - + int minhandles = KnownRegionHandles.Contains(RegionHandle) ? 1 : 0; if(KnownRegionHandles.Count > minhandles) { int tdiff = Util.EnvironmentTickCountSubtract(m_lastChildUpdatesTime); -- cgit v1.1