diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index cd4b14d..a432b6f 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -1135,9 +1135,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
1135 | 1135 | ||
1136 | // Kick all ROOT agents with the message, 'The simulator is going down' | 1136 | // Kick all ROOT agents with the message, 'The simulator is going down' |
1137 | ForEachScenePresence(delegate(ScenePresence avatar) | 1137 | ForEachScenePresence(delegate(ScenePresence avatar) |
1138 | { | 1138 | { |
1139 | if (avatar.KnownChildRegionHandles.Contains(RegionInfo.RegionHandle)) | 1139 | avatar.RemoveNeighbourRegion(RegionInfo.RegionHandle); |
1140 | avatar.KnownChildRegionHandles.Remove(RegionInfo.RegionHandle); | ||
1141 | 1140 | ||
1142 | if (!avatar.IsChildAgent) | 1141 | if (!avatar.IsChildAgent) |
1143 | avatar.ControllingClient.Kick("The simulator is going down."); | 1142 | avatar.ControllingClient.Kick("The simulator is going down."); |
@@ -3225,14 +3224,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
3225 | avatar.Scene.NeedSceneCacheClear(avatar.UUID); | 3224 | avatar.Scene.NeedSceneCacheClear(avatar.UUID); |
3226 | 3225 | ||
3227 | if (closeChildAgents && !avatar.IsChildAgent) | 3226 | if (closeChildAgents && !avatar.IsChildAgent) |
3228 | { | 3227 | { |
3229 | //List<ulong> childknownRegions = new List<ulong>(); | 3228 | List<ulong> regions = avatar.KnownRegionHandles; |
3230 | //List<ulong> ckn = avatar.KnownChildRegionHandles; | ||
3231 | //for (int i = 0; i < ckn.Count; i++) | ||
3232 | //{ | ||
3233 | // childknownRegions.Add(ckn[i]); | ||
3234 | //} | ||
3235 | List<ulong> regions = new List<ulong>(avatar.KnownChildRegionHandles); | ||
3236 | regions.Remove(RegionInfo.RegionHandle); | 3229 | regions.Remove(RegionInfo.RegionHandle); |
3237 | m_sceneGridService.SendCloseChildAgentConnections(agentID, regions); | 3230 | m_sceneGridService.SendCloseChildAgentConnections(agentID, regions); |
3238 | } | 3231 | } |
@@ -3313,7 +3306,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3313 | { | 3306 | { |
3314 | for (int i = 0; i < regionslst.Count; i++) | 3307 | for (int i = 0; i < regionslst.Count; i++) |
3315 | { | 3308 | { |
3316 | av.KnownChildRegionHandles.Remove(regionslst[i]); | 3309 | av.RemoveNeighbourRegion(regionslst[i]); |
3317 | } | 3310 | } |
3318 | } | 3311 | } |
3319 | } | 3312 | } |
@@ -3827,7 +3820,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3827 | 3820 | ||
3828 | if (RegionSecret == loggingOffUser.ControllingClient.SecureSessionId || (parsedsecret && RegionSecret == localRegionSecret)) | 3821 | if (RegionSecret == loggingOffUser.ControllingClient.SecureSessionId || (parsedsecret && RegionSecret == localRegionSecret)) |
3829 | { | 3822 | { |
3830 | m_sceneGridService.SendCloseChildAgentConnections(loggingOffUser.UUID, new List<ulong>(loggingOffUser.KnownRegions.Keys)); | 3823 | m_sceneGridService.SendCloseChildAgentConnections(loggingOffUser.UUID, loggingOffUser.KnownRegionHandles); |
3831 | loggingOffUser.ControllingClient.Kick(message); | 3824 | loggingOffUser.ControllingClient.Kick(message); |
3832 | // Give them a second to receive the message! | 3825 | // Give them a second to receive the message! |
3833 | Thread.Sleep(1000); | 3826 | Thread.Sleep(1000); |