aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
diff options
context:
space:
mode:
authorMelanie2010-06-14 02:49:15 +0100
committerMelanie2010-06-14 02:49:15 +0100
commitfdf648bcf3cecc2236cc6761d33f3df5e0af136d (patch)
treedb65a301f98b6b998a901cdd887fec755e6d73dd /OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
parentD.U.H. #2. Inverted test. Again. Argh! (diff)
parentFixes attachments coming back upon being detached in neighbouring regions and... (diff)
downloadopensim-SC_OLD-fdf648bcf3cecc2236cc6761d33f3df5e0af136d.zip
opensim-SC_OLD-fdf648bcf3cecc2236cc6761d33f3df5e0af136d.tar.gz
opensim-SC_OLD-fdf648bcf3cecc2236cc6761d33f3df5e0af136d.tar.bz2
opensim-SC_OLD-fdf648bcf3cecc2236cc6761d33f3df5e0af136d.tar.xz
Merge branch 'master' into careminster-presence-refactor
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs21
1 files changed, 7 insertions, 14 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
index 6309cd9..a9ecde8 100644
--- a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
@@ -182,24 +182,17 @@ namespace OpenSim.Region.Framework.Scenes
182 { 182 {
183 //m_log.Info("[INTER]: " + debugRegionName + ": SceneCommunicationService: Sending InterRegion Notification that region is up " + region.RegionName); 183 //m_log.Info("[INTER]: " + debugRegionName + ": SceneCommunicationService: Sending InterRegion Notification that region is up " + region.RegionName);
184 184
185 for (int x = (int)region.RegionLocX - 1; x <= region.RegionLocX + 1; x++) 185 List<GridRegion> neighbours = m_scene.GridService.GetNeighbours(m_scene.RegionInfo.ScopeID, m_scene.RegionInfo.RegionID);
186 m_log.DebugFormat("[INTERGRID]: Informing {0} neighbours that this region is up", neighbours.Count);
187 foreach (GridRegion n in neighbours)
186 { 188 {
187 for (int y = (int)region.RegionLocY - 1; y <= region.RegionLocY + 1; y++) 189 InformNeighbourThatRegionUpDelegate d = InformNeighboursThatRegionIsUpAsync;
188 { 190 d.BeginInvoke(neighbourService, region, n.RegionHandle,
189 if (!((x == region.RegionLocX) && (y == region.RegionLocY))) // skip this region 191 InformNeighborsThatRegionisUpCompleted,
190 { 192 d);
191 ulong handle = Utils.UIntsToLong((uint)x * Constants.RegionSize, (uint)y * Constants.RegionSize);
192 InformNeighbourThatRegionUpDelegate d = InformNeighboursThatRegionIsUpAsync;
193
194 d.BeginInvoke(neighbourService, region, handle,
195 InformNeighborsThatRegionisUpCompleted,
196 d);
197 }
198 }
199 } 193 }
200 } 194 }
201 195
202
203 public delegate void SendChildAgentDataUpdateDelegate(AgentPosition cAgentData, ulong regionHandle); 196 public delegate void SendChildAgentDataUpdateDelegate(AgentPosition cAgentData, ulong regionHandle);
204 197
205 /// <summary> 198 /// <summary>