diff options
author | Melanie | 2010-12-12 08:57:26 +0000 |
---|---|---|
committer | Melanie | 2010-12-12 08:57:26 +0000 |
commit | 663a626a6f1b7b7960f086ac4b3401ae9a100c11 (patch) | |
tree | 929bb424eb606103e66d3993a57758739e8303ab /OpenSim/Region/Framework/Scenes/ScenePresence.cs | |
parent | Merge branch 'master' into careminster-presence-refactor (diff) | |
download | opensim-SC-663a626a6f1b7b7960f086ac4b3401ae9a100c11.zip opensim-SC-663a626a6f1b7b7960f086ac4b3401ae9a100c11.tar.gz opensim-SC-663a626a6f1b7b7960f086ac4b3401ae9a100c11.tar.bz2 opensim-SC-663a626a6f1b7b7960f086ac4b3401ae9a100c11.tar.xz |
Apply the useful part of diva's patch that was skipped
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 28 |
1 files changed, 1 insertions, 27 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 7ce94d4..961fe29 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -2553,34 +2553,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
2553 | if (m_isChildAgent) | 2553 | if (m_isChildAgent) |
2554 | { | 2554 | { |
2555 | // WHAT??? | 2555 | // WHAT??? |
2556 | m_log.Debug("[SCENEPRESENCE]: AddNewMovement() called on child agent, making root agent!"); | 2556 | m_log.Debug("[SCENEPRESENCE]: AddNewMovement() called on child agent"); |
2557 | 2557 | ||
2558 | // we have to reset the user's child agent connections. | ||
2559 | // Likely, here they've lost the eventqueue for other regions so border | ||
2560 | // crossings will fail at this point unless we reset them. | ||
2561 | |||
2562 | List<ulong> regions = new List<ulong>(KnownChildRegionHandles); | ||
2563 | regions.Remove(m_scene.RegionInfo.RegionHandle); | ||
2564 | |||
2565 | MakeRootAgent(new Vector3(127f, 127f, 127f), true); | ||
2566 | |||
2567 | // Async command | ||
2568 | if (m_scene.SceneGridService != null) | ||
2569 | { | ||
2570 | m_scene.SceneGridService.SendCloseChildAgentConnections(UUID, regions); | ||
2571 | |||
2572 | // Give the above command some time to try and close the connections. | ||
2573 | // this is really an emergency.. so sleep, or we'll get all discombobulated. | ||
2574 | System.Threading.Thread.Sleep(500); | ||
2575 | } | ||
2576 | |||
2577 | if (m_scene.SceneGridService != null) | ||
2578 | { | ||
2579 | IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>(); | ||
2580 | if (m_agentTransfer != null) | ||
2581 | m_agentTransfer.EnableChildAgents(this); | ||
2582 | } | ||
2583 | |||
2584 | return; | 2558 | return; |
2585 | } | 2559 | } |
2586 | 2560 | ||