some viewers now also seem to need time bf closing child regions on TP

0.9.1.0-post-fixes
UbitUmarov 2019-01-04 00:12:22 +00:00
parent 2ac6fb9ae9
commit d90b45f25e
1 changed files with 13 additions and 2 deletions

View File

@ -1214,10 +1214,14 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.CleaningUp); m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.CleaningUp);
if(logout) /* now some viewers also need time bf closing child regions
* so this is moved down and delay added
if (logout)
sp.closeAllChildAgents(); sp.closeAllChildAgents();
else else
sp.CloseChildAgents(childRegionsToClose); sp.CloseChildAgents(childRegionsToClose);
*/
sp.HasMovedAway(!(OutSideViewRange || logout)); sp.HasMovedAway(!(OutSideViewRange || logout));
@ -1229,6 +1233,13 @@ 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);
Thread.Sleep(2000);
if (logout)
sp.closeAllChildAgents();
else
sp.CloseChildAgents(childRegionsToClose);
// Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone
// goes by HG hook // goes by HG hook
if (NeedsClosing(reg, OutSideViewRange)) if (NeedsClosing(reg, OutSideViewRange))
@ -1240,7 +1251,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
} }
// viewers and target region take extra time to process the tp // viewers and target region take extra time to process the tp
Thread.Sleep(2000); // Thread.Sleep(2000);
m_log.DebugFormat( m_log.DebugFormat(
"[ENTITY TRANSFER MODULE]: Closing agent {0} in {1} after teleport", sp.Name, Scene.Name); "[ENTITY TRANSFER MODULE]: Closing agent {0} in {1} after teleport", sp.Name, Scene.Name);
sp.Scene.CloseAgent(sp.UUID, false); sp.Scene.CloseAgent(sp.UUID, false);