aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs13
1 files changed, 9 insertions, 4 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index d770d45..2f2034f 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -1099,7 +1099,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1099 ulong destinationHandle = finalDestination.RegionHandle; 1099 ulong destinationHandle = finalDestination.RegionHandle;
1100 1100
1101 List<ulong> childRegionsToClose = null; 1101 List<ulong> childRegionsToClose = null;
1102 if (ctx.OutboundVersion < 0.7f) 1102 // HG needs a deeper change
1103 bool localclose = (ctx.OutboundVersion < 0.7f || ((teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin) != 0));
1104 if (localclose)
1103 { 1105 {
1104 childRegionsToClose = sp.GetChildAgentsToClose(destinationHandle, finalDestination.RegionSizeX, finalDestination.RegionSizeY); 1106 childRegionsToClose = sp.GetChildAgentsToClose(destinationHandle, finalDestination.RegionSizeX, finalDestination.RegionSizeY);
1105 1107
@@ -1226,7 +1228,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1226 // Now let's make it officially a child agent 1228 // Now let's make it officially a child agent
1227 sp.MakeChildAgent(destinationHandle); 1229 sp.MakeChildAgent(destinationHandle);
1228 1230
1229 if(ctx.OutboundVersion < 0.7f) 1231 if(localclose)
1230 { 1232 {
1231 if (logout) 1233 if (logout)
1232 sp.closeAllChildAgents(); 1234 sp.closeAllChildAgents();
@@ -2129,8 +2131,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
2129 foreach (ulong handler in previousRegionNeighbourHandles) 2131 foreach (ulong handler in previousRegionNeighbourHandles)
2130 seeds.Remove(handler); 2132 seeds.Remove(handler);
2131 2133
2132 List<ulong> toclose = new List<ulong>(previousRegionNeighbourHandles); 2134 if(notHG) // does not work on HG
2133 sp.CloseChildAgents(toclose); 2135 {
2136 List<ulong> toclose = new List<ulong>(previousRegionNeighbourHandles);
2137 sp.CloseChildAgents(toclose);
2138 }
2134 } 2139 }
2135 2140
2136 /// Update all child agent with everyone's seeds 2141 /// Update all child agent with everyone's seeds