diff options
author | UbitUmarov | 2015-11-25 04:13:13 +0000 |
---|---|---|
committer | UbitUmarov | 2015-11-25 04:13:13 +0000 |
commit | 172bb05ec257b1abb3554eeb6c5b8bcbdae89b78 (patch) | |
tree | c30e0d54a4ff412102f1d9bdba114e3176630944 /OpenSim/Region/CoreModules/Framework/EntityTransfer | |
parent | Merge branch 'master' of opensimulator.org:/var/git/opensim (diff) | |
download | opensim-SC_OLD-172bb05ec257b1abb3554eeb6c5b8bcbdae89b78.zip opensim-SC_OLD-172bb05ec257b1abb3554eeb6c5b8bcbdae89b78.tar.gz opensim-SC_OLD-172bb05ec257b1abb3554eeb6c5b8bcbdae89b78.tar.bz2 opensim-SC_OLD-172bb05ec257b1abb3554eeb6c5b8bcbdae89b78.tar.xz |
suspend the use of DisableSimulator, that is causing teleport and crossing issues
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework/EntityTransfer')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 3fe8171..9899ccd 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -1068,8 +1068,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1068 | // This sleep can be increased if necessary. However, whilst it's active, | 1068 | // This sleep can be increased if necessary. However, whilst it's active, |
1069 | // an agent cannot teleport back to this region if it has teleported away. | 1069 | // an agent cannot teleport back to this region if it has teleported away. |
1070 | Thread.Sleep(2000); | 1070 | Thread.Sleep(2000); |
1071 | if (m_eqModule != null && !sp.DoNotCloseAfterTeleport) | 1071 | // if (m_eqModule != null && !sp.DoNotCloseAfterTeleport) |
1072 | m_eqModule.DisableSimulator(sourceRegionHandle,sp.UUID); | 1072 | // m_eqModule.DisableSimulator(sourceRegionHandle,sp.UUID); |
1073 | Thread.Sleep(500); | 1073 | Thread.Sleep(500); |
1074 | sp.Scene.CloseAgent(sp.UUID, false); | 1074 | sp.Scene.CloseAgent(sp.UUID, false); |
1075 | } | 1075 | } |
@@ -1201,8 +1201,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1201 | // Now let's make it officially a child agent | 1201 | // Now let's make it officially a child agent |
1202 | sp.MakeChildAgent(destinationHandle); | 1202 | sp.MakeChildAgent(destinationHandle); |
1203 | 1203 | ||
1204 | |||
1205 | |||
1206 | // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone | 1204 | // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone |
1207 | // go by HG hook | 1205 | // go by HG hook |
1208 | if (NeedsClosing(reg, OutSideViewRange)) | 1206 | if (NeedsClosing(reg, OutSideViewRange)) |
@@ -1217,10 +1215,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1217 | // DECREASING THE WAIT TIME HERE WILL EITHER RESULT IN A VIEWER CRASH OR | 1215 | // DECREASING THE WAIT TIME HERE WILL EITHER RESULT IN A VIEWER CRASH OR |
1218 | // IN THE AVIE BEING PLACED IN INFINITY FOR A COUPLE OF SECONDS. | 1216 | // IN THE AVIE BEING PLACED IN INFINITY FOR A COUPLE OF SECONDS. |
1219 | 1217 | ||
1220 | Thread.Sleep(14000); | 1218 | Thread.Sleep(15000); |
1221 | if (m_eqModule != null && !sp.DoNotCloseAfterTeleport) | 1219 | // if (m_eqModule != null && !sp.DoNotCloseAfterTeleport) |
1222 | m_eqModule.DisableSimulator(sourceRegionHandle,sp.UUID); | 1220 | // m_eqModule.DisableSimulator(sourceRegionHandle,sp.UUID); |
1223 | Thread.Sleep(1000); | 1221 | // Thread.Sleep(1000); |
1224 | 1222 | ||
1225 | // OK, it got this agent. Let's close everything | 1223 | // OK, it got this agent. Let's close everything |
1226 | // If we shouldn't close the agent due to some other region renewing the connection | 1224 | // 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 | |||
1806 | // Unlike a teleport, here we do not wait for the destination region to confirm the receipt. | 1804 | // Unlike a teleport, here we do not wait for the destination region to confirm the receipt. |
1807 | m_entityTransferStateMachine.UpdateInTransit(agent.UUID, AgentTransferState.CleaningUp); | 1805 | m_entityTransferStateMachine.UpdateInTransit(agent.UUID, AgentTransferState.CleaningUp); |
1808 | 1806 | ||
1807 | |||
1808 | |||
1809 | agent.CloseChildAgents(false, neighbourRegion.RegionHandle, neighbourRegion.RegionSizeX, neighbourRegion.RegionSizeY); | ||
1810 | |||
1809 | // this may need the attachments | 1811 | // this may need the attachments |
1810 | 1812 | ||
1811 | agent.HasMovedAway(true); | 1813 | agent.HasMovedAway(true); |
@@ -1815,9 +1817,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1815 | // FIXME: Possibly this should occur lower down after other commands to close other agents, | 1817 | // FIXME: Possibly this should occur lower down after other commands to close other agents, |
1816 | // but not sure yet what the side effects would be. | 1818 | // but not sure yet what the side effects would be. |
1817 | m_entityTransferStateMachine.ResetFromTransit(agent.UUID); | 1819 | m_entityTransferStateMachine.ResetFromTransit(agent.UUID); |
1818 | |||
1819 | agent.CloseChildAgents(false, neighbourRegion.RegionHandle, neighbourRegion.RegionSizeX, neighbourRegion.RegionSizeY); | ||
1820 | |||
1821 | // TODO: Check since what version this wasn't needed anymore. May be as old as 0.6 | 1820 | // TODO: Check since what version this wasn't needed anymore. May be as old as 0.6 |
1822 | /* | 1821 | /* |
1823 | // Backwards compatibility. Best effort | 1822 | // Backwards compatibility. Best effort |