From f29fdb6bdae51e50f749e2144a3e92fb3171f436 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 9 Apr 2019 10:22:55 +0100 Subject: old tp timing issues on grid presence notification did came back, so put back old hack --- .../CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'OpenSim/Region') diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 75d7bc5..a2c2aa7 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -1147,11 +1147,16 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // in no close. sp.DoNotCloseAfterTeleport = false; + // we still need to flag this as child here + // a close from receiving region seems possible to happen before we reach sp.MakeChildAgent below + // causing the agent to be loggout out from grid incorrectly + sp.IsChildAgent = true; // Send the Update. If this returns true, we know the client has contacted the destination // via CompleteMovementIntoRegion, so we can let go. // If it returns false, something went wrong, and we need to abort. if (!UpdateAgent(reg, finalDestination, agent, sp, ctx)) { + sp.IsChildAgent = false; if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Aborting) { m_interRegionTeleportAborts.Value++; -- cgit v1.1