diff options
author | Teravus Ovares | 2008-09-28 02:57:53 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-09-28 02:57:53 +0000 |
commit | 25a998feb41057f5ad8a6190eae8f14426db1aa8 (patch) | |
tree | 83895af3727370c72873a726b3512a52953f719d /OpenSim/Region/Environment/Scenes | |
parent | Mantis#2287. Thank you kindly, Idb for a patch that solves: (diff) | |
download | opensim-SC-25a998feb41057f5ad8a6190eae8f14426db1aa8.zip opensim-SC-25a998feb41057f5ad8a6190eae8f14426db1aa8.tar.gz opensim-SC-25a998feb41057f5ad8a6190eae8f14426db1aa8.tar.bz2 opensim-SC-25a998feb41057f5ad8a6190eae8f14426db1aa8.tar.xz |
* okay.. Now you can do border crossings with the security 'fixed' client.. with EventQueue enabled.
* You occasionally loose the event queue if you cross back and forth between the same regions many multiples of times.
* But Don't try to teleport!
Diffstat (limited to 'OpenSim/Region/Environment/Scenes')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 7428612..02859cd 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -37,7 +37,9 @@ using OpenSim.Framework; | |||
37 | using OpenSim.Framework.Communications.Cache; | 37 | using OpenSim.Framework.Communications.Cache; |
38 | using OpenSim.Region.Environment.Interfaces; | 38 | using OpenSim.Region.Environment.Interfaces; |
39 | using OpenSim.Region.Environment.Types; | 39 | using OpenSim.Region.Environment.Types; |
40 | using OpenSim.Region.Interfaces; | ||
40 | using OpenSim.Region.Physics.Manager; | 41 | using OpenSim.Region.Physics.Manager; |
42 | using LLSD = OpenMetaverse.StructuredData.LLSD; | ||
41 | 43 | ||
42 | 44 | ||
43 | namespace OpenSim.Region.Environment.Scenes | 45 | namespace OpenSim.Region.Environment.Scenes |
@@ -2018,8 +2020,22 @@ namespace OpenSim.Region.Environment.Scenes | |||
2018 | m_log.DebugFormat( | 2020 | m_log.DebugFormat( |
2019 | "[CAPS]: Sending new CAPS seed url {0} to client {1}", capsPath, m_uuid); | 2021 | "[CAPS]: Sending new CAPS seed url {0} to client {1}", capsPath, m_uuid); |
2020 | 2022 | ||
2021 | m_controllingClient.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.ExternalEndPoint, | 2023 | IEventQueue eq = m_scene.RequestModuleInterface<IEventQueue>(); |
2024 | if (eq != null) | ||
2025 | { | ||
2026 | |||
2027 | LLSD Item = EventQueueHelper.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.ExternalEndPoint, | ||
2028 | capsPath, UUID, ControllingClient.SessionId); | ||
2029 | eq.Enqueue(Item, UUID); | ||
2030 | } | ||
2031 | else | ||
2032 | { | ||
2033 | m_controllingClient.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.ExternalEndPoint, | ||
2022 | capsPath); | 2034 | capsPath); |
2035 | } | ||
2036 | |||
2037 | |||
2038 | |||
2023 | MakeChildAgent(); | 2039 | MakeChildAgent(); |
2024 | // now we have a child agent in this region. Request all interesting data about other (root) agents | 2040 | // now we have a child agent in this region. Request all interesting data about other (root) agents |
2025 | SendInitialFullUpdateToAllClients(); | 2041 | SendInitialFullUpdateToAllClients(); |