* 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!
This commit is contained in:
Teravus Ovares
2008-09-28 02:57:53 +00:00
parent 6a863311f7
commit 25a998feb4
3 changed files with 173 additions and 87 deletions

View File

@@ -37,7 +37,9 @@ using OpenSim.Framework;
using OpenSim.Framework.Communications.Cache;
using OpenSim.Region.Environment.Interfaces;
using OpenSim.Region.Environment.Types;
using OpenSim.Region.Interfaces;
using OpenSim.Region.Physics.Manager;
using LLSD = OpenMetaverse.StructuredData.LLSD;
namespace OpenSim.Region.Environment.Scenes
@@ -2018,8 +2020,22 @@ namespace OpenSim.Region.Environment.Scenes
m_log.DebugFormat(
"[CAPS]: Sending new CAPS seed url {0} to client {1}", capsPath, m_uuid);
m_controllingClient.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.ExternalEndPoint,
IEventQueue eq = m_scene.RequestModuleInterface<IEventQueue>();
if (eq != null)
{
LLSD Item = EventQueueHelper.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.ExternalEndPoint,
capsPath, UUID, ControllingClient.SessionId);
eq.Enqueue(Item, UUID);
}
else
{
m_controllingClient.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.ExternalEndPoint,
capsPath);
}
MakeChildAgent();
// now we have a child agent in this region. Request all interesting data about other (root) agents
SendInitialFullUpdateToAllClients();