From cc55cf3080d4f74d0a0b827eadd9fcc109e8e26b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 14 Jan 2019 19:56:29 +0000 Subject: do HG as old protocol, needs deeper changes --- .../Framework/EntityTransfer/EntityTransferModule.cs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'OpenSim/Region') 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 ulong destinationHandle = finalDestination.RegionHandle; List childRegionsToClose = null; - if (ctx.OutboundVersion < 0.7f) + // HG needs a deeper change + bool localclose = (ctx.OutboundVersion < 0.7f || ((teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin) != 0)); + if (localclose) { childRegionsToClose = sp.GetChildAgentsToClose(destinationHandle, finalDestination.RegionSizeX, finalDestination.RegionSizeY); @@ -1226,7 +1228,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // Now let's make it officially a child agent sp.MakeChildAgent(destinationHandle); - if(ctx.OutboundVersion < 0.7f) + if(localclose) { if (logout) sp.closeAllChildAgents(); @@ -2129,8 +2131,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer foreach (ulong handler in previousRegionNeighbourHandles) seeds.Remove(handler); - List toclose = new List(previousRegionNeighbourHandles); - sp.CloseChildAgents(toclose); + if(notHG) // does not work on HG + { + List toclose = new List(previousRegionNeighbourHandles); + sp.CloseChildAgents(toclose); + } } /// Update all child agent with everyone's seeds -- cgit v1.1