From fe2487f8d33e9960bad363a931fa2174407dbb2f Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 21 Jul 2013 16:49:24 -0700 Subject: [PATCH] EXPERIMENTAL: Trying the other order -- delaying MoveAgentIntoRegion until after the departing agent is released. --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index a3d328fadb..c6d9fec550 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -1329,12 +1329,6 @@ namespace OpenSim.Region.Framework.Scenes bool flying = ((m_AgentControlFlags & AgentManager.ControlFlags.AGENT_CONTROL_FLY) != 0); MakeRootAgent(AbsolutePosition, flying); - ControllingClient.MoveAgentIntoRegion(m_scene.RegionInfo, AbsolutePosition, look); - // Remember in HandleUseCircuitCode, we delayed this to here - // This will also send the initial data to clients when TP to a neighboring region. - // Not ideal, but until we know we're TP-ing from a neighboring region, there's not much we can do - if (m_teleportFlags > 0) - SendInitialDataToMe(); // m_log.DebugFormat("[SCENE PRESENCE] Completed movement"); @@ -1361,6 +1355,13 @@ namespace OpenSim.Region.Framework.Scenes // client.Name, client.AgentId, m_scene.RegionInfo.RegionName); // } + ControllingClient.MoveAgentIntoRegion(m_scene.RegionInfo, AbsolutePosition, look); + // Remember in HandleUseCircuitCode, we delayed this to here + // This will also send the initial data to clients when TP to a neighboring region. + // Not ideal, but until we know we're TP-ing from a neighboring region, there's not much we can do + if (m_teleportFlags > 0) + SendInitialDataToMe(); + ValidateAndSendAppearanceAndAgentData(); // Create child agents in neighbouring regions