aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs5
1 files changed, 5 insertions, 0 deletions
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
1147 // in no close. 1147 // in no close.
1148 sp.DoNotCloseAfterTeleport = false; 1148 sp.DoNotCloseAfterTeleport = false;
1149 1149
1150 // we still need to flag this as child here
1151 // a close from receiving region seems possible to happen before we reach sp.MakeChildAgent below
1152 // causing the agent to be loggout out from grid incorrectly
1153 sp.IsChildAgent = true;
1150 // Send the Update. If this returns true, we know the client has contacted the destination 1154 // Send the Update. If this returns true, we know the client has contacted the destination
1151 // via CompleteMovementIntoRegion, so we can let go. 1155 // via CompleteMovementIntoRegion, so we can let go.
1152 // If it returns false, something went wrong, and we need to abort. 1156 // If it returns false, something went wrong, and we need to abort.
1153 if (!UpdateAgent(reg, finalDestination, agent, sp, ctx)) 1157 if (!UpdateAgent(reg, finalDestination, agent, sp, ctx))
1154 { 1158 {
1159 sp.IsChildAgent = false;
1155 if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Aborting) 1160 if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Aborting)
1156 { 1161 {
1157 m_interRegionTeleportAborts.Value++; 1162 m_interRegionTeleportAborts.Value++;