From 622e7b4c7dbf0d136d379cf03cda78967a75eef3 Mon Sep 17 00:00:00 2001 From: diva Date: Sat, 14 Feb 2009 17:17:48 +0000 Subject: 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. --- OpenSim/Region/Framework/Scenes/Scene.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index b42c46e..24cb48a 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -438,6 +438,7 @@ namespace OpenSim.Region.Framework.Scenes lock (m_neighbours) { m_neighbours[i] = otherRegion; + } } } @@ -469,6 +470,10 @@ namespace OpenSim.Region.Framework.Scenes { //agent.ControllingClient.new //this.CommsManager.InterRegion.InformRegionOfChildAgent(otherRegion.RegionHandle, agent.ControllingClient.RequestClientInfo()); + + List old = new List(); + old.Add(otherRegion.RegionHandle); + agent.DropOldNeighbours(old); InformClientOfNeighbor(agent, otherRegion); } } @@ -2578,7 +2583,7 @@ namespace OpenSim.Region.Framework.Scenes /// public void InformClientOfNeighbor(ScenePresence presence, RegionInfo region) { - m_sceneGridService.InformNeighborChildAgent(presence, region); + m_sceneGridService.EnableNeighbourChildAgents(presence, m_neighbours); } /// -- cgit v1.1