aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/Scene.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/Scene.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs26
1 files changed, 18 insertions, 8 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index fef02f0..f2b5643 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -313,17 +313,27 @@ namespace OpenSim.Region.Environment.Scenes
313 } 313 }
314 if ((Math.Abs(otherRegion.RegionLocX - RegionInfo.RegionLocX) <= 1) && (Math.Abs(otherRegion.RegionLocY - RegionInfo.RegionLocY) <= 1)) 314 if ((Math.Abs(otherRegion.RegionLocX - RegionInfo.RegionLocX) <= 1) && (Math.Abs(otherRegion.RegionLocY - RegionInfo.RegionLocY) <= 1))
315 { 315 {
316 lock (m_regionRestartNotifyList) 316 try
317 { 317 {
318 if (!(m_regionRestartNotifyList.Contains(otherRegion)))
319 {
320 m_regionRestartNotifyList.Add(otherRegion);
321 318
322 m_restartWaitTimer.Interval = 50000; 319 ForEachScenePresence(delegate(ScenePresence agent)
323 m_restartWaitTimer.AutoReset = false; 320 {
324 m_restartWaitTimer.Elapsed += new ElapsedEventHandler(RestartNotifyWaitElapsed); 321 // If agent is a root agent.
325 m_restartWaitTimer.Start(); 322 if (!agent.IsChildAgent)
323 {
324 //agent.ControllingClient.new
325 //this.CommsManager.InterRegion.InformRegionOfChildAgent(otherRegion.RegionHandle, agent.ControllingClient.RequestClientInfo());
326 InformClientOfNeighbor(agent, otherRegion);
327 }
326 } 328 }
329
330 );
331 }
332 catch (System.NullReferenceException)
333 {
334 // This means that we're not booted up completely yet.
335 // This shouldn't happen too often anymore.
336 MainLog.Instance.Error("SCENE", "Couldn't inform client of regionup because we got a null reference exception");
327 } 337 }
328 } 338 }
329 else 339 else