aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes
diff options
context:
space:
mode:
authorTeravus Ovares2008-09-28 02:57:53 +0000
committerTeravus Ovares2008-09-28 02:57:53 +0000
commit25a998feb41057f5ad8a6190eae8f14426db1aa8 (patch)
tree83895af3727370c72873a726b3512a52953f719d /OpenSim/Region/Environment/Scenes
parentMantis#2287. Thank you kindly, Idb for a patch that solves: (diff)
downloadopensim-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.cs18
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;
37using OpenSim.Framework.Communications.Cache; 37using OpenSim.Framework.Communications.Cache;
38using OpenSim.Region.Environment.Interfaces; 38using OpenSim.Region.Environment.Interfaces;
39using OpenSim.Region.Environment.Types; 39using OpenSim.Region.Environment.Types;
40using OpenSim.Region.Interfaces;
40using OpenSim.Region.Physics.Manager; 41using OpenSim.Region.Physics.Manager;
42using LLSD = OpenMetaverse.StructuredData.LLSD;
41 43
42 44
43namespace OpenSim.Region.Environment.Scenes 45namespace 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();