aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Framework/EntityTransfer
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework/EntityTransfer')
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs7
1 files changed, 7 insertions, 0 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index 17ebc83..316f882 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -920,6 +920,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
920 920
921 if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg)) 921 if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg))
922 { 922 {
923 if (!sp.Scene.IncomingPreCloseAgent(sp))
924 return;
925
923 // We need to delay here because Imprudence viewers, unlike v1 or v3, have a short (<200ms, <500ms) delay before 926 // We need to delay here because Imprudence viewers, unlike v1 or v3, have a short (<200ms, <500ms) delay before
924 // they regard the new region as the current region after receiving the AgentMovementComplete 927 // they regard the new region as the current region after receiving the AgentMovementComplete
925 // response. If close is sent before then, it will cause the viewer to quit instead. 928 // response. If close is sent before then, it will cause the viewer to quit instead.
@@ -1082,6 +1085,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1082 // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone 1085 // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone
1083 if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg)) 1086 if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg))
1084 { 1087 {
1088 if (!sp.Scene.IncomingPreCloseAgent(sp))
1089 return;
1090
1085 // RED ALERT!!!! 1091 // RED ALERT!!!!
1086 // PLEASE DO NOT DECREASE THIS WAIT TIME UNDER ANY CIRCUMSTANCES. 1092 // PLEASE DO NOT DECREASE THIS WAIT TIME UNDER ANY CIRCUMSTANCES.
1087 // THE VIEWERS SEEM TO NEED SOME TIME AFTER RECEIVING MoveAgentIntoRegion 1093 // THE VIEWERS SEEM TO NEED SOME TIME AFTER RECEIVING MoveAgentIntoRegion
@@ -1095,6 +1101,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1095 // then this will be handled in IncomingCloseAgent under lock conditions 1101 // then this will be handled in IncomingCloseAgent under lock conditions
1096 m_log.DebugFormat( 1102 m_log.DebugFormat(
1097 "[ENTITY TRANSFER MODULE]: Closing agent {0} in {1} after teleport", sp.Name, Scene.Name); 1103 "[ENTITY TRANSFER MODULE]: Closing agent {0} in {1} after teleport", sp.Name, Scene.Name);
1104
1098 sp.Scene.IncomingCloseAgent(sp.UUID, false); 1105 sp.Scene.IncomingCloseAgent(sp.UUID, false);
1099 } 1106 }
1100 else 1107 else