waste another thread job on another thing that should be part of a more
unified service, and also not hidding on a so called event"LSLKeyTest
parent
d6e16c5130
commit
f4fa891928
|
@ -2080,6 +2080,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
sp.KnownRegions = seeds;
|
sp.KnownRegions = seeds;
|
||||||
sp.SetNeighbourRegionSizeInfo(neighbours);
|
sp.SetNeighbourRegionSizeInfo(neighbours);
|
||||||
|
|
||||||
|
if(newneighbours.Count > 0 || previousRegionNeighbourHandles.Count > 0)
|
||||||
|
{
|
||||||
AgentPosition agentpos = new AgentPosition();
|
AgentPosition agentpos = new AgentPosition();
|
||||||
agentpos.AgentID = new UUID(sp.UUID.Guid);
|
agentpos.AgentID = new UUID(sp.UUID.Guid);
|
||||||
agentpos.SessionID = spClient.SessionId;
|
agentpos.SessionID = spClient.SessionId;
|
||||||
|
@ -2131,16 +2133,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
neighbour.RegionLocX,
|
neighbour.RegionLocX,
|
||||||
neighbour.RegionLocY,
|
neighbour.RegionLocY,
|
||||||
e);
|
e);
|
||||||
|
|
||||||
// FIXME: Okay, even though we've failed, we're still going to throw the exception on,
|
|
||||||
// since I don't know what will happen if we just let the client continue
|
|
||||||
|
|
||||||
// XXX: Well, decided to swallow the exception instead for now. Let us see how that goes.
|
|
||||||
// throw e;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Computes the difference between two region bases.
|
// Computes the difference between two region bases.
|
||||||
// Returns a vector of world coordinates (meters) from base of first region to the second.
|
// Returns a vector of world coordinates (meters) from base of first region to the second.
|
||||||
|
|
|
@ -68,6 +68,22 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Presence
|
||||||
|
|
||||||
public void OnMakeRootAgent(ScenePresence sp)
|
public void OnMakeRootAgent(ScenePresence sp)
|
||||||
{
|
{
|
||||||
|
if (sp.isNPC)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(sp.gotCrossUpdate)
|
||||||
|
{
|
||||||
|
Util.FireAndForget(delegate
|
||||||
|
{
|
||||||
|
DoOnMakeRootAgent(sp);
|
||||||
|
}, null, "PresenceDetector_MakeRoot");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
DoOnMakeRootAgent(sp);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void DoOnMakeRootAgent(ScenePresence sp)
|
||||||
|
{
|
||||||
// m_log.DebugFormat("[PRESENCE DETECTOR]: Detected root presence {0} in {1}", sp.UUID, sp.Scene.RegionInfo.RegionName);
|
// m_log.DebugFormat("[PRESENCE DETECTOR]: Detected root presence {0} in {1}", sp.UUID, sp.Scene.RegionInfo.RegionName);
|
||||||
if (sp.PresenceType != PresenceType.Npc)
|
if (sp.PresenceType != PresenceType.Npc)
|
||||||
m_PresenceService.ReportAgent(sp.ControllingClient.SessionId, sp.Scene.RegionInfo.RegionID);
|
m_PresenceService.ReportAgent(sp.ControllingClient.SessionId, sp.Scene.RegionInfo.RegionID);
|
||||||
|
|
Loading…
Reference in New Issue