This hopefully fixes a long-standing annoying behavior related to neighbour regions going up & down while avies are logged in (mantis #2701, perhaps? maybe not). This is the bug mentioned 2 commits ago. If this proves to work well in OSGrid, there's a lot of old code cleaning to do.
parent
5655233ad0
commit
622e7b4c7d
|
@ -438,6 +438,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
lock (m_neighbours)
|
lock (m_neighbours)
|
||||||
{
|
{
|
||||||
m_neighbours[i] = otherRegion;
|
m_neighbours[i] = otherRegion;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -469,6 +470,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
//agent.ControllingClient.new
|
//agent.ControllingClient.new
|
||||||
//this.CommsManager.InterRegion.InformRegionOfChildAgent(otherRegion.RegionHandle, agent.ControllingClient.RequestClientInfo());
|
//this.CommsManager.InterRegion.InformRegionOfChildAgent(otherRegion.RegionHandle, agent.ControllingClient.RequestClientInfo());
|
||||||
|
|
||||||
|
List<ulong> old = new List<ulong>();
|
||||||
|
old.Add(otherRegion.RegionHandle);
|
||||||
|
agent.DropOldNeighbours(old);
|
||||||
InformClientOfNeighbor(agent, otherRegion);
|
InformClientOfNeighbor(agent, otherRegion);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2578,7 +2583,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
/// <param name="region"></param>
|
/// <param name="region"></param>
|
||||||
public void InformClientOfNeighbor(ScenePresence presence, RegionInfo region)
|
public void InformClientOfNeighbor(ScenePresence presence, RegionInfo region)
|
||||||
{
|
{
|
||||||
m_sceneGridService.InformNeighborChildAgent(presence, region);
|
m_sceneGridService.EnableNeighbourChildAgents(presence, m_neighbours);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
Loading…
Reference in New Issue