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 | |
parent | Merge branch 'master' of opensimulator.org:/var/git/opensim (diff) | |
download | opensim-SC-172bb05ec257b1abb3554eeb6c5b8bcbdae89b78.zip opensim-SC-172bb05ec257b1abb3554eeb6c5b8bcbdae89b78.tar.gz opensim-SC-172bb05ec257b1abb3554eeb6c5b8bcbdae89b78.tar.bz2 opensim-SC-172bb05ec257b1abb3554eeb6c5b8bcbdae89b78.tar.xz |
suspend the use of DisableSimulator, that is causing teleport and crossing issues
-rw-r--r-- | OpenSim/Framework/Util.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 21 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 8 |
3 files changed, 15 insertions, 16 deletions
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 4dafaef..4aad578 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs | |||
@@ -753,7 +753,7 @@ namespace OpenSim.Framework | |||
753 | newy *= Constants.RegionSize; | 753 | newy *= Constants.RegionSize; |
754 | if (oldy + oldsizey + drawdist < newy) | 754 | if (oldy + oldsizey + drawdist < newy) |
755 | return true; | 755 | return true; |
756 | if (newy + newsizey + drawdist< oldy) | 756 | if (newy + newsizey + drawdist < oldy) |
757 | return true; | 757 | return true; |
758 | 758 | ||
759 | return false; | 759 | return false; |
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 |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 5903274..0d2c8c3 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -4143,8 +4143,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
4143 | { | 4143 | { |
4144 | byebyeRegions.Add(handle); | 4144 | byebyeRegions.Add(handle); |
4145 | // this should not be here | 4145 | // this should not be here |
4146 | if(eventQueue != null) | 4146 | // if(eventQueue != null) |
4147 | eventQueue.DisableSimulator(handle,UUID); | 4147 | /// eventQueue.DisableSimulator(handle,UUID); |
4148 | } | 4148 | } |
4149 | } | 4149 | } |
4150 | else | 4150 | else |
@@ -4154,8 +4154,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
4154 | { | 4154 | { |
4155 | byebyeRegions.Add(handle); | 4155 | byebyeRegions.Add(handle); |
4156 | // this should not be here | 4156 | // this should not be here |
4157 | if(eventQueue != null) | 4157 | // if(eventQueue != null) |
4158 | eventQueue.DisableSimulator(handle,UUID); | 4158 | // eventQueue.DisableSimulator(handle,UUID); |
4159 | } | 4159 | } |
4160 | } | 4160 | } |
4161 | } | 4161 | } |