do HG as old protocol, needs deeper changes

0.9.1.0-post-fixes
UbitUmarov 2019-01-14 19:56:29 +00:00
parent df14ed7d31
commit cc55cf3080
1 changed files with 9 additions and 4 deletions

View File

@ -1099,7 +1099,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
ulong destinationHandle = finalDestination.RegionHandle; ulong destinationHandle = finalDestination.RegionHandle;
List<ulong> childRegionsToClose = null; List<ulong> 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); 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 // Now let's make it officially a child agent
sp.MakeChildAgent(destinationHandle); sp.MakeChildAgent(destinationHandle);
if(ctx.OutboundVersion < 0.7f) if(localclose)
{ {
if (logout) if (logout)
sp.closeAllChildAgents(); sp.closeAllChildAgents();
@ -2129,9 +2131,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
foreach (ulong handler in previousRegionNeighbourHandles) foreach (ulong handler in previousRegionNeighbourHandles)
seeds.Remove(handler); seeds.Remove(handler);
if(notHG) // does not work on HG
{
List<ulong> toclose = new List<ulong>(previousRegionNeighbourHandles); List<ulong> toclose = new List<ulong>(previousRegionNeighbourHandles);
sp.CloseChildAgents(toclose); sp.CloseChildAgents(toclose);
} }
}
/// Update all child agent with everyone's seeds /// Update all child agent with everyone's seeds
// foreach (AgentCircuitData a in cagents) // foreach (AgentCircuitData a in cagents)