diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 26 |
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 |