* Converted the last of the events to the private delegate instance method to avoid race conditions.
parent
e803d2f3f6
commit
882566a32f
|
@ -45,8 +45,18 @@ namespace OpenSim.Framework
|
||||||
public event CloseAgentConnection OnCloseAgentConnection;
|
public event CloseAgentConnection OnCloseAgentConnection;
|
||||||
public event RegionUp OnRegionUp;
|
public event RegionUp OnRegionUp;
|
||||||
public event ChildAgentUpdate OnChildAgentUpdate;
|
public event ChildAgentUpdate OnChildAgentUpdate;
|
||||||
|
|
||||||
|
|
||||||
|
private ExpectUserDelegate handler001 = null; // OnExpectUser
|
||||||
|
private ExpectPrimDelegate handler002 = null; // OnExpectPrim;
|
||||||
|
private GenericCall2 handler003 = null; // OnExpectChildAgent;
|
||||||
|
private AgentCrossing handler004 = null; // OnAvatarCrossingIntoRegion;
|
||||||
|
private PrimCrossing handler005 = null; // OnPrimCrossingIntoRegion;
|
||||||
|
private UpdateNeighbours handler006 = null; // OnNeighboursUpdate;
|
||||||
|
private AcknowledgeAgentCross handler007 = null; // OnAcknowledgeAgentCrossed;
|
||||||
|
private AcknowledgePrimCross handler008 = null; // OnAcknowledgePrimCrossed;
|
||||||
|
private CloseAgentConnection handler009 = null; // OnCloseAgentConnection;
|
||||||
|
private RegionUp handler010 = null; // OnRegionUp;
|
||||||
|
private ChildAgentUpdate handler011 = null; // OnChildAgentUpdate;
|
||||||
|
|
||||||
public string debugRegionName = String.Empty;
|
public string debugRegionName = String.Empty;
|
||||||
|
|
||||||
|
@ -58,9 +68,10 @@ namespace OpenSim.Framework
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public virtual bool TriggerExpectUser(ulong regionHandle, AgentCircuitData agent)
|
public virtual bool TriggerExpectUser(ulong regionHandle, AgentCircuitData agent)
|
||||||
{
|
{
|
||||||
if (OnExpectUser != null)
|
handler001 = OnExpectUser;
|
||||||
|
if (handler001 != null)
|
||||||
{
|
{
|
||||||
OnExpectUser(regionHandle, agent);
|
handler001(regionHandle, agent);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,9 +81,10 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
public virtual bool TriggerExpectPrim(ulong regionHandle, LLUUID primID, string objData)
|
public virtual bool TriggerExpectPrim(ulong regionHandle, LLUUID primID, string objData)
|
||||||
{
|
{
|
||||||
if (OnExpectPrim != null)
|
handler002 = OnExpectPrim;
|
||||||
|
if (handler002 != null)
|
||||||
{
|
{
|
||||||
OnExpectPrim(regionHandle, primID, objData);
|
handler002(regionHandle, primID, objData);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -80,9 +92,10 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
public virtual bool TriggerRegionUp(RegionInfo region)
|
public virtual bool TriggerRegionUp(RegionInfo region)
|
||||||
{
|
{
|
||||||
if (OnRegionUp != null)
|
handler010 = OnRegionUp;
|
||||||
|
if (handler010 != null)
|
||||||
{
|
{
|
||||||
OnRegionUp(region);
|
handler010(region);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -90,9 +103,10 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
public virtual bool TriggerChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData)
|
public virtual bool TriggerChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData)
|
||||||
{
|
{
|
||||||
if (OnChildAgentUpdate != null)
|
handler011 = OnChildAgentUpdate;
|
||||||
|
if (handler011 != null)
|
||||||
{
|
{
|
||||||
OnChildAgentUpdate(regionHandle, cAgentData);
|
handler011(regionHandle, cAgentData);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -101,9 +115,10 @@ namespace OpenSim.Framework
|
||||||
public virtual bool TriggerExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position,
|
public virtual bool TriggerExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position,
|
||||||
bool isFlying)
|
bool isFlying)
|
||||||
{
|
{
|
||||||
if (OnAvatarCrossingIntoRegion != null)
|
handler004 = OnAvatarCrossingIntoRegion;
|
||||||
|
if (handler004 != null)
|
||||||
{
|
{
|
||||||
OnAvatarCrossingIntoRegion(regionHandle, agentID, position, isFlying);
|
handler004(regionHandle, agentID, position, isFlying);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -112,9 +127,10 @@ namespace OpenSim.Framework
|
||||||
public virtual bool TriggerExpectPrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position,
|
public virtual bool TriggerExpectPrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position,
|
||||||
bool isPhysical)
|
bool isPhysical)
|
||||||
{
|
{
|
||||||
if (OnPrimCrossingIntoRegion != null)
|
handler005 = OnPrimCrossingIntoRegion;
|
||||||
|
if (handler005 != null)
|
||||||
{
|
{
|
||||||
OnPrimCrossingIntoRegion(regionHandle, primID, position, isPhysical);
|
handler005(regionHandle, primID, position, isPhysical);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -122,9 +138,10 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
public virtual bool TriggerAcknowledgeAgentCrossed(ulong regionHandle, LLUUID agentID)
|
public virtual bool TriggerAcknowledgeAgentCrossed(ulong regionHandle, LLUUID agentID)
|
||||||
{
|
{
|
||||||
if (OnAcknowledgeAgentCrossed != null)
|
handler007 = OnAcknowledgeAgentCrossed;
|
||||||
|
if (handler007 != null)
|
||||||
{
|
{
|
||||||
OnAcknowledgeAgentCrossed(regionHandle, agentID);
|
handler007(regionHandle, agentID);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -132,9 +149,10 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
public virtual bool TriggerAcknowledgePrimCrossed(ulong regionHandle, LLUUID primID)
|
public virtual bool TriggerAcknowledgePrimCrossed(ulong regionHandle, LLUUID primID)
|
||||||
{
|
{
|
||||||
if (OnAcknowledgePrimCrossed != null)
|
handler008 = OnAcknowledgePrimCrossed;
|
||||||
|
if (handler008 != null)
|
||||||
{
|
{
|
||||||
OnAcknowledgePrimCrossed(regionHandle, primID);
|
handler008(regionHandle, primID);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -142,9 +160,10 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
public virtual bool TriggerCloseAgentConnection(ulong regionHandle, LLUUID agentID)
|
public virtual bool TriggerCloseAgentConnection(ulong regionHandle, LLUUID agentID)
|
||||||
{
|
{
|
||||||
if (OnCloseAgentConnection != null)
|
handler009 = OnCloseAgentConnection;
|
||||||
|
if (handler009 != null)
|
||||||
{
|
{
|
||||||
OnCloseAgentConnection(regionHandle, agentID);
|
handler009(regionHandle, agentID);
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -158,9 +177,10 @@ namespace OpenSim.Framework
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public virtual bool TriggerExpectChildAgent()
|
public virtual bool TriggerExpectChildAgent()
|
||||||
{
|
{
|
||||||
if (OnExpectChildAgent != null)
|
handler003 = OnExpectChildAgent;
|
||||||
|
if (handler003 != null)
|
||||||
{
|
{
|
||||||
OnExpectChildAgent();
|
handler003();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -175,9 +195,10 @@ namespace OpenSim.Framework
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public virtual bool TriggerOnNeighboursUpdate(List<RegionInfo> neighbours)
|
public virtual bool TriggerOnNeighboursUpdate(List<RegionInfo> neighbours)
|
||||||
{
|
{
|
||||||
if (OnNeighboursUpdate != null)
|
handler006 = OnNeighboursUpdate;
|
||||||
|
if (handler006 != null)
|
||||||
{
|
{
|
||||||
OnNeighboursUpdate(neighbours);
|
handler006(neighbours);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,10 +207,11 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
public bool TriggerTellRegionToCloseChildConnection(ulong regionHandle, LLUUID agentID)
|
public bool TriggerTellRegionToCloseChildConnection(ulong regionHandle, LLUUID agentID)
|
||||||
{
|
{
|
||||||
if (OnCloseAgentConnection != null)
|
handler009 = OnCloseAgentConnection;
|
||||||
return OnCloseAgentConnection(regionHandle, agentID);
|
if (handler009 != null)
|
||||||
|
return handler009(regionHandle, agentID);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,6 +55,8 @@ namespace OpenSim.Region.Communications.Local
|
||||||
|
|
||||||
public event LoginToRegionEvent OnLoginToRegion;
|
public event LoginToRegionEvent OnLoginToRegion;
|
||||||
|
|
||||||
|
private LoginToRegionEvent handler001 = null; // OnLoginToRegion;
|
||||||
|
|
||||||
public LocalLoginService(UserManagerBase userManager, string welcomeMess,
|
public LocalLoginService(UserManagerBase userManager, string welcomeMess,
|
||||||
CommunicationsLocal parent, NetworkServersInfo serversInfo,
|
CommunicationsLocal parent, NetworkServersInfo serversInfo,
|
||||||
bool authenticate)
|
bool authenticate)
|
||||||
|
@ -161,9 +163,10 @@ namespace OpenSim.Region.Communications.Local
|
||||||
_login.StartPos = new LLVector3(128, 128, 70);
|
_login.StartPos = new LLVector3(128, 128, 70);
|
||||||
_login.CapsPath = capsPath;
|
_login.CapsPath = capsPath;
|
||||||
|
|
||||||
if (OnLoginToRegion != null)
|
handler001 = OnLoginToRegion;
|
||||||
|
if (handler001 != null)
|
||||||
{
|
{
|
||||||
OnLoginToRegion(currentRegion, _login);
|
handler001(currentRegion, _login);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -59,6 +59,13 @@ namespace OpenSim.Region.Communications.OGS1
|
||||||
public event ChildAgentUpdate OnChildAgentUpdate;
|
public event ChildAgentUpdate OnChildAgentUpdate;
|
||||||
public event TellRegionToCloseChildConnection OnTellRegionToCloseChildConnection;
|
public event TellRegionToCloseChildConnection OnTellRegionToCloseChildConnection;
|
||||||
|
|
||||||
|
private InformRegionChild handler001 = null; // OnChildAgent;
|
||||||
|
private ExpectArrival handler002 = null; // OnArrival;
|
||||||
|
private InformRegionPrimGroup handler003 = null; // OnPrimGroupNear;
|
||||||
|
private PrimGroupArrival handler004 = null; // OnPrimGroupArrival;
|
||||||
|
private RegionUp handler005 = null; // OnRegionUp;
|
||||||
|
private ChildAgentUpdate handler006 = null; // OnChildAgentUpdate;
|
||||||
|
private TellRegionToCloseChildConnection handler007 = null; // OnTellRegionToCloseChildConnection;
|
||||||
|
|
||||||
|
|
||||||
static InterRegionSingleton()
|
static InterRegionSingleton()
|
||||||
|
@ -76,64 +83,70 @@ namespace OpenSim.Region.Communications.OGS1
|
||||||
|
|
||||||
public bool InformRegionOfChildAgent(ulong regionHandle, AgentCircuitData agentData)
|
public bool InformRegionOfChildAgent(ulong regionHandle, AgentCircuitData agentData)
|
||||||
{
|
{
|
||||||
if (OnChildAgent != null)
|
handler001 = OnChildAgent;
|
||||||
|
if (handler001 != null)
|
||||||
{
|
{
|
||||||
return OnChildAgent(regionHandle, agentData);
|
return handler001(regionHandle, agentData);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool RegionUp(SearializableRegionInfo sregion, ulong regionhandle)
|
public bool RegionUp(SearializableRegionInfo sregion, ulong regionhandle)
|
||||||
{
|
{
|
||||||
if (OnRegionUp != null)
|
handler005 = OnRegionUp;
|
||||||
|
if (handler005 != null)
|
||||||
{
|
{
|
||||||
return OnRegionUp(sregion, regionhandle);
|
return handler005(sregion, regionhandle);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool ChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentUpdate)
|
public bool ChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentUpdate)
|
||||||
{
|
{
|
||||||
if (OnChildAgentUpdate != null)
|
handler006 = OnChildAgentUpdate;
|
||||||
|
if (handler006 != null)
|
||||||
{
|
{
|
||||||
return OnChildAgentUpdate(regionHandle, cAgentUpdate);
|
return handler006(regionHandle, cAgentUpdate);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying)
|
public bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying)
|
||||||
{
|
{
|
||||||
if (OnArrival != null)
|
handler002 = OnArrival;
|
||||||
|
if (handler002 != null)
|
||||||
{
|
{
|
||||||
return OnArrival(regionHandle, agentID, position, isFlying);
|
return handler002(regionHandle, agentID, position, isFlying);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool InformRegionPrim(ulong regionHandle, LLUUID primID, LLVector3 position, bool isPhysical)
|
public bool InformRegionPrim(ulong regionHandle, LLUUID primID, LLVector3 position, bool isPhysical)
|
||||||
{
|
{
|
||||||
if (OnPrimGroupNear != null)
|
handler003 = OnPrimGroupNear;
|
||||||
|
if (handler003 != null)
|
||||||
{
|
{
|
||||||
return OnPrimGroupNear(regionHandle, primID, position, isPhysical);
|
return handler003(regionHandle, primID, position, isPhysical);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool ExpectPrimCrossing(ulong regionHandle, LLUUID primID, string objData)
|
public bool ExpectPrimCrossing(ulong regionHandle, LLUUID primID, string objData)
|
||||||
{
|
{
|
||||||
if (OnPrimGroupArrival != null)
|
handler004 = OnPrimGroupArrival;
|
||||||
|
if (handler004 != null)
|
||||||
{
|
{
|
||||||
return OnPrimGroupArrival(regionHandle, primID, objData);
|
return handler004(regionHandle, primID, objData);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool TellRegionToCloseChildConnection(ulong regionHandle, LLUUID agentID)
|
public bool TellRegionToCloseChildConnection(ulong regionHandle, LLUUID agentID)
|
||||||
{
|
{
|
||||||
if (OnTellRegionToCloseChildConnection != null)
|
handler007 = OnTellRegionToCloseChildConnection;
|
||||||
|
if (handler007 != null)
|
||||||
{
|
{
|
||||||
|
return handler007(regionHandle, agentID);
|
||||||
return OnTellRegionToCloseChildConnection(regionHandle, agentID);
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,8 +57,15 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
public event RegionUp OnRegionUp;
|
public event RegionUp OnRegionUp;
|
||||||
public event ChildAgentUpdate OnChildAgentUpdate;
|
public event ChildAgentUpdate OnChildAgentUpdate;
|
||||||
public event RemoveKnownRegionsFromAvatarList OnRemoveKnownRegionFromAvatar;
|
public event RemoveKnownRegionsFromAvatarList OnRemoveKnownRegionFromAvatar;
|
||||||
|
|
||||||
|
|
||||||
|
private AgentCrossing handler001 = null; // OnAvatarCrossingIntoRegion;
|
||||||
|
private ExpectUserDelegate handler002 = null; // OnExpectUser;
|
||||||
|
private ExpectPrimDelegate handler003 = null; // OnExpectPrim;
|
||||||
|
private CloseAgentConnection handler004 = null; // OnCloseAgentConnection;
|
||||||
|
private PrimCrossing handler005 = null; // OnPrimCrossingIntoRegion;
|
||||||
|
private RegionUp handler006 = null; // OnRegionUp;
|
||||||
|
private ChildAgentUpdate handler007 = null; // OnChildAgentUpdate;
|
||||||
|
private RemoveKnownRegionsFromAvatarList handler008 = null; // OnRemoveKnownRegionFromAvatar;
|
||||||
|
|
||||||
public KillObjectDelegate KillObject;
|
public KillObjectDelegate KillObject;
|
||||||
public string _debugRegionName = String.Empty;
|
public string _debugRegionName = String.Empty;
|
||||||
|
@ -125,27 +132,30 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
///
|
///
|
||||||
protected void NewUserConnection(ulong regionHandle, AgentCircuitData agent)
|
protected void NewUserConnection(ulong regionHandle, AgentCircuitData agent)
|
||||||
{
|
{
|
||||||
if (OnExpectUser != null)
|
handler002 = OnExpectUser;
|
||||||
|
if (handler002 != null)
|
||||||
{
|
{
|
||||||
//m_log.Info("[INTER]: " + debugRegionName + ": SceneCommunicationService: OnExpectUser Fired for User:" + agent.firstname + " " + agent.lastname);
|
//m_log.Info("[INTER]: " + debugRegionName + ": SceneCommunicationService: OnExpectUser Fired for User:" + agent.firstname + " " + agent.lastname);
|
||||||
OnExpectUser(regionHandle, agent);
|
handler002(regionHandle, agent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected bool newRegionUp(RegionInfo region)
|
protected bool newRegionUp(RegionInfo region)
|
||||||
{
|
{
|
||||||
if (OnRegionUp != null)
|
handler006 = OnRegionUp;
|
||||||
|
if (handler006 != null)
|
||||||
{
|
{
|
||||||
//m_log.Info("[INTER]: " + debugRegionName + ": SceneCommunicationService: newRegionUp Fired for User:" + region.RegionName);
|
//m_log.Info("[INTER]: " + debugRegionName + ": SceneCommunicationService: newRegionUp Fired for User:" + region.RegionName);
|
||||||
OnRegionUp(region);
|
handler006(region);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected bool ChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData)
|
protected bool ChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData)
|
||||||
{
|
{
|
||||||
if (OnChildAgentUpdate != null)
|
handler007 = OnChildAgentUpdate;
|
||||||
OnChildAgentUpdate(regionHandle, cAgentData);
|
if (handler007 != null)
|
||||||
|
handler007(regionHandle, cAgentData);
|
||||||
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -153,36 +163,39 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
|
|
||||||
protected void AgentCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying)
|
protected void AgentCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying)
|
||||||
{
|
{
|
||||||
if (OnAvatarCrossingIntoRegion != null)
|
handler001 = OnAvatarCrossingIntoRegion;
|
||||||
|
if (handler001 != null)
|
||||||
{
|
{
|
||||||
OnAvatarCrossingIntoRegion(regionHandle, agentID, position, isFlying);
|
handler001(regionHandle, agentID, position, isFlying);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void IncomingPrimCrossing(ulong regionHandle, LLUUID primID, String objXMLData)
|
protected void IncomingPrimCrossing(ulong regionHandle, LLUUID primID, String objXMLData)
|
||||||
{
|
{
|
||||||
if (OnExpectPrim != null)
|
handler003 = OnExpectPrim;
|
||||||
|
if (handler003 != null)
|
||||||
{
|
{
|
||||||
OnExpectPrim(regionHandle, primID, objXMLData);
|
handler003(regionHandle, primID, objXMLData);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void PrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position, bool isPhysical)
|
protected void PrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position, bool isPhysical)
|
||||||
{
|
{
|
||||||
if (OnPrimCrossingIntoRegion != null)
|
handler005 = OnPrimCrossingIntoRegion;
|
||||||
|
if (handler005 != null)
|
||||||
{
|
{
|
||||||
OnPrimCrossingIntoRegion(regionHandle, primID, position, isPhysical);
|
handler005(regionHandle, primID, position, isPhysical);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected bool CloseConnection(ulong regionHandle, LLUUID agentID)
|
protected bool CloseConnection(ulong regionHandle, LLUUID agentID)
|
||||||
{
|
{
|
||||||
m_log.Info("[INTERREGION]: Incoming Agent Close Request for agent: " + agentID.ToString());
|
m_log.Info("[INTERREGION]: Incoming Agent Close Request for agent: " + agentID.ToString());
|
||||||
|
handler004 = OnCloseAgentConnection;
|
||||||
if (OnCloseAgentConnection != null)
|
if (handler004 != null)
|
||||||
{
|
{
|
||||||
return OnCloseAgentConnection(regionHandle, agentID);
|
return handler004(regionHandle, agentID);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -424,9 +437,10 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
// We remove the list of known regions from the agent's known region list through an event
|
// We remove the list of known regions from the agent's known region list through an event
|
||||||
// to scene, because, if an agent logged of, it's likely that there will be no scene presence
|
// to scene, because, if an agent logged of, it's likely that there will be no scene presence
|
||||||
// by the time we get to this part of the method.
|
// by the time we get to this part of the method.
|
||||||
if (OnRemoveKnownRegionFromAvatar != null)
|
handler008 = OnRemoveKnownRegionFromAvatar;
|
||||||
|
if (handler008 != null)
|
||||||
{
|
{
|
||||||
OnRemoveKnownRegionFromAvatar(agentID,regionlst);
|
handler008(agentID, regionlst);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -605,4 +619,4 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
return m_commsProvider.GenerateAgentPickerRequestResponse(queryID, query);
|
return m_commsProvider.GenerateAgentPickerRequestResponse(queryID, query);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue