suspend the use of DisableSimulator, that is causing teleport and crossing issues
parent
1484348d7f
commit
172bb05ec2
|
@ -753,7 +753,7 @@ namespace OpenSim.Framework
|
||||||
newy *= Constants.RegionSize;
|
newy *= Constants.RegionSize;
|
||||||
if (oldy + oldsizey + drawdist < newy)
|
if (oldy + oldsizey + drawdist < newy)
|
||||||
return true;
|
return true;
|
||||||
if (newy + newsizey + drawdist< oldy)
|
if (newy + newsizey + drawdist < oldy)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -1068,8 +1068,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
// This sleep can be increased if necessary. However, whilst it's active,
|
// 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.
|
// an agent cannot teleport back to this region if it has teleported away.
|
||||||
Thread.Sleep(2000);
|
Thread.Sleep(2000);
|
||||||
if (m_eqModule != null && !sp.DoNotCloseAfterTeleport)
|
// if (m_eqModule != null && !sp.DoNotCloseAfterTeleport)
|
||||||
m_eqModule.DisableSimulator(sourceRegionHandle,sp.UUID);
|
// m_eqModule.DisableSimulator(sourceRegionHandle,sp.UUID);
|
||||||
Thread.Sleep(500);
|
Thread.Sleep(500);
|
||||||
sp.Scene.CloseAgent(sp.UUID, false);
|
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
|
// Now let's make it officially a child agent
|
||||||
sp.MakeChildAgent(destinationHandle);
|
sp.MakeChildAgent(destinationHandle);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 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
|
||||||
// go by HG hook
|
// go by HG hook
|
||||||
if (NeedsClosing(reg, OutSideViewRange))
|
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
|
// 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.
|
// IN THE AVIE BEING PLACED IN INFINITY FOR A COUPLE OF SECONDS.
|
||||||
|
|
||||||
Thread.Sleep(14000);
|
Thread.Sleep(15000);
|
||||||
if (m_eqModule != null && !sp.DoNotCloseAfterTeleport)
|
// if (m_eqModule != null && !sp.DoNotCloseAfterTeleport)
|
||||||
m_eqModule.DisableSimulator(sourceRegionHandle,sp.UUID);
|
// m_eqModule.DisableSimulator(sourceRegionHandle,sp.UUID);
|
||||||
Thread.Sleep(1000);
|
// Thread.Sleep(1000);
|
||||||
|
|
||||||
// OK, it got this agent. Let's close everything
|
// OK, it got this agent. Let's close everything
|
||||||
// If we shouldn't close the agent due to some other region renewing the connection
|
// 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.
|
// Unlike a teleport, here we do not wait for the destination region to confirm the receipt.
|
||||||
m_entityTransferStateMachine.UpdateInTransit(agent.UUID, AgentTransferState.CleaningUp);
|
m_entityTransferStateMachine.UpdateInTransit(agent.UUID, AgentTransferState.CleaningUp);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
agent.CloseChildAgents(false, neighbourRegion.RegionHandle, neighbourRegion.RegionSizeX, neighbourRegion.RegionSizeY);
|
||||||
|
|
||||||
// this may need the attachments
|
// this may need the attachments
|
||||||
|
|
||||||
agent.HasMovedAway(true);
|
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,
|
// FIXME: Possibly this should occur lower down after other commands to close other agents,
|
||||||
// but not sure yet what the side effects would be.
|
// but not sure yet what the side effects would be.
|
||||||
m_entityTransferStateMachine.ResetFromTransit(agent.UUID);
|
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
|
// TODO: Check since what version this wasn't needed anymore. May be as old as 0.6
|
||||||
/*
|
/*
|
||||||
// Backwards compatibility. Best effort
|
// Backwards compatibility. Best effort
|
||||||
|
|
|
@ -4143,8 +4143,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
byebyeRegions.Add(handle);
|
byebyeRegions.Add(handle);
|
||||||
// this should not be here
|
// this should not be here
|
||||||
if(eventQueue != null)
|
// if(eventQueue != null)
|
||||||
eventQueue.DisableSimulator(handle,UUID);
|
/// eventQueue.DisableSimulator(handle,UUID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -4154,8 +4154,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
byebyeRegions.Add(handle);
|
byebyeRegions.Add(handle);
|
||||||
// this should not be here
|
// this should not be here
|
||||||
if(eventQueue != null)
|
// if(eventQueue != null)
|
||||||
eventQueue.DisableSimulator(handle,UUID);
|
// eventQueue.DisableSimulator(handle,UUID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue