suspend the use of DisableSimulator, that is causing teleport and crossing issues

LSLKeyTest
UbitUmarov 2015-11-25 04:13:13 +00:00
parent 1484348d7f
commit 172bb05ec2
3 changed files with 15 additions and 16 deletions

View File

@ -753,7 +753,7 @@ namespace OpenSim.Framework
newy *= Constants.RegionSize;
if (oldy + oldsizey + drawdist < newy)
return true;
if (newy + newsizey + drawdist< oldy)
if (newy + newsizey + drawdist < oldy)
return true;
return false;

View File

@ -1068,8 +1068,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
// This sleep can be increased if necessary. However, whilst it's active,
// an agent cannot teleport back to this region if it has teleported away.
Thread.Sleep(2000);
if (m_eqModule != null && !sp.DoNotCloseAfterTeleport)
m_eqModule.DisableSimulator(sourceRegionHandle,sp.UUID);
// if (m_eqModule != null && !sp.DoNotCloseAfterTeleport)
// m_eqModule.DisableSimulator(sourceRegionHandle,sp.UUID);
Thread.Sleep(500);
sp.Scene.CloseAgent(sp.UUID, false);
}
@ -1201,8 +1201,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
// Now let's make it officially a child agent
sp.MakeChildAgent(destinationHandle);
// Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone
// go by HG hook
if (NeedsClosing(reg, OutSideViewRange))
@ -1217,10 +1215,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
// DECREASING THE WAIT TIME HERE WILL EITHER RESULT IN A VIEWER CRASH OR
// IN THE AVIE BEING PLACED IN INFINITY FOR A COUPLE OF SECONDS.
Thread.Sleep(14000);
if (m_eqModule != null && !sp.DoNotCloseAfterTeleport)
m_eqModule.DisableSimulator(sourceRegionHandle,sp.UUID);
Thread.Sleep(1000);
Thread.Sleep(15000);
// if (m_eqModule != null && !sp.DoNotCloseAfterTeleport)
// m_eqModule.DisableSimulator(sourceRegionHandle,sp.UUID);
// Thread.Sleep(1000);
// OK, it got this agent. Let's close everything
// If we shouldn't close the agent due to some other region renewing the connection
@ -1806,6 +1804,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
// Unlike a teleport, here we do not wait for the destination region to confirm the receipt.
m_entityTransferStateMachine.UpdateInTransit(agent.UUID, AgentTransferState.CleaningUp);
agent.CloseChildAgents(false, neighbourRegion.RegionHandle, neighbourRegion.RegionSizeX, neighbourRegion.RegionSizeY);
// this may need the attachments
agent.HasMovedAway(true);
@ -1815,9 +1817,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
// FIXME: Possibly this should occur lower down after other commands to close other agents,
// but not sure yet what the side effects would be.
m_entityTransferStateMachine.ResetFromTransit(agent.UUID);
agent.CloseChildAgents(false, neighbourRegion.RegionHandle, neighbourRegion.RegionSizeX, neighbourRegion.RegionSizeY);
// TODO: Check since what version this wasn't needed anymore. May be as old as 0.6
/*
// Backwards compatibility. Best effort

View File

@ -4143,8 +4143,8 @@ namespace OpenSim.Region.Framework.Scenes
{
byebyeRegions.Add(handle);
// this should not be here
if(eventQueue != null)
eventQueue.DisableSimulator(handle,UUID);
// if(eventQueue != null)
/// eventQueue.DisableSimulator(handle,UUID);
}
}
else
@ -4154,8 +4154,8 @@ namespace OpenSim.Region.Framework.Scenes
{
byebyeRegions.Add(handle);
// this should not be here
if(eventQueue != null)
eventQueue.DisableSimulator(handle,UUID);
// if(eventQueue != null)
// eventQueue.DisableSimulator(handle,UUID);
}
}
}