diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 36 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs | 8 |
2 files changed, 22 insertions, 22 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 78fbd3b..a77f26b 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -973,7 +973,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
973 | else | 973 | else |
974 | { | 974 | { |
975 | m_log.InfoFormat( | 975 | m_log.InfoFormat( |
976 | "[INTERGRID]: Got notice about far away Region: {0} at ({1}, {2})", | 976 | "[SCENE]: Got notice about far away Region: {0} at ({1}, {2})", |
977 | otherRegion.RegionName, otherRegion.RegionLocX, otherRegion.RegionLocY); | 977 | otherRegion.RegionName, otherRegion.RegionLocX, otherRegion.RegionLocY); |
978 | } | 978 | } |
979 | } | 979 | } |
@@ -3388,6 +3388,22 @@ namespace OpenSim.Region.Framework.Scenes | |||
3388 | { | 3388 | { |
3389 | isChildAgent = avatar.IsChildAgent; | 3389 | isChildAgent = avatar.IsChildAgent; |
3390 | 3390 | ||
3391 | // Don't do this to root agents, it's not nice for the viewer | ||
3392 | if (closeChildAgents && isChildAgent) | ||
3393 | { | ||
3394 | // Tell a single agent to disconnect from the region. | ||
3395 | IEventQueue eq = RequestModuleInterface<IEventQueue>(); | ||
3396 | if (eq != null) | ||
3397 | { | ||
3398 | eq.DisableSimulator(RegionInfo.RegionHandle, avatar.UUID); | ||
3399 | } | ||
3400 | else | ||
3401 | { | ||
3402 | avatar.ControllingClient.SendShutdownConnectionNotice(); | ||
3403 | } | ||
3404 | } | ||
3405 | |||
3406 | // Only applies to root agents. | ||
3391 | if (avatar.ParentID != 0) | 3407 | if (avatar.ParentID != 0) |
3392 | { | 3408 | { |
3393 | avatar.StandUp(); | 3409 | avatar.StandUp(); |
@@ -4227,23 +4243,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4227 | m_sceneGraph.removeUserCount(true); | 4243 | m_sceneGraph.removeUserCount(true); |
4228 | } | 4244 | } |
4229 | 4245 | ||
4230 | // Don't do this to root agents on logout, it's not nice for the viewer | 4246 | presence.ControllingClient.Close(); |
4231 | if (presence.IsChildAgent) | ||
4232 | { | ||
4233 | // Tell a single agent to disconnect from the region. | ||
4234 | IEventQueue eq = RequestModuleInterface<IEventQueue>(); | ||
4235 | if (eq != null) | ||
4236 | { | ||
4237 | eq.DisableSimulator(RegionInfo.RegionHandle, agentID); | ||
4238 | } | ||
4239 | else | ||
4240 | presence.ControllingClient.SendShutdownConnectionNotice(); | ||
4241 | presence.ControllingClient.Close(false); | ||
4242 | } | ||
4243 | else if (!childOnly) | ||
4244 | { | ||
4245 | presence.ControllingClient.Close(true); | ||
4246 | } | ||
4247 | return true; | 4247 | return true; |
4248 | } | 4248 | } |
4249 | 4249 | ||
diff --git a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs index 77e808e..c1414ee 100644 --- a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs | |||
@@ -84,16 +84,16 @@ namespace OpenSim.Region.Framework.Scenes | |||
84 | if (neighbourService != null) | 84 | if (neighbourService != null) |
85 | neighbour = neighbourService.HelloNeighbour(regionhandle, region); | 85 | neighbour = neighbourService.HelloNeighbour(regionhandle, region); |
86 | else | 86 | else |
87 | m_log.DebugFormat("[SCS]: No neighbour service provided for informing neigbhours of this region"); | 87 | m_log.DebugFormat("[SCENE COMMUNICATION SERVICE]: No neighbour service provided for informing neigbhours of this region"); |
88 | 88 | ||
89 | if (neighbour != null) | 89 | if (neighbour != null) |
90 | { | 90 | { |
91 | // m_log.DebugFormat("[INTERGRID]: Successfully informed neighbour {0}-{1} that I'm here", x / Constants.RegionSize, y / Constants.RegionSize); | 91 | m_log.DebugFormat("[SCENE COMMUNICATION SERVICE]: Successfully informed neighbour {0}-{1} that I'm here", x / Constants.RegionSize, y / Constants.RegionSize); |
92 | m_scene.EventManager.TriggerOnRegionUp(neighbour); | 92 | m_scene.EventManager.TriggerOnRegionUp(neighbour); |
93 | } | 93 | } |
94 | else | 94 | else |
95 | { | 95 | { |
96 | m_log.InfoFormat("[INTERGRID]: Failed to inform neighbour {0}-{1} that I'm here.", x / Constants.RegionSize, y / Constants.RegionSize); | 96 | m_log.InfoFormat("[SCENE COMMUNICATION SERVICE]: Failed to inform neighbour {0}-{1} that I'm here.", x / Constants.RegionSize, y / Constants.RegionSize); |
97 | } | 97 | } |
98 | } | 98 | } |
99 | 99 | ||
@@ -102,7 +102,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
102 | //m_log.Info("[INTER]: " + debugRegionName + ": SceneCommunicationService: Sending InterRegion Notification that region is up " + region.RegionName); | 102 | //m_log.Info("[INTER]: " + debugRegionName + ": SceneCommunicationService: Sending InterRegion Notification that region is up " + region.RegionName); |
103 | 103 | ||
104 | List<GridRegion> neighbours = m_scene.GridService.GetNeighbours(m_scene.RegionInfo.ScopeID, m_scene.RegionInfo.RegionID); | 104 | List<GridRegion> neighbours = m_scene.GridService.GetNeighbours(m_scene.RegionInfo.ScopeID, m_scene.RegionInfo.RegionID); |
105 | //m_log.DebugFormat("[INTERGRID]: Informing {0} neighbours that this region is up", neighbours.Count); | 105 | m_log.DebugFormat("[SCENE COMMUNICATION SERVICE]: Informing {0} neighbours that this region is up", neighbours.Count); |
106 | foreach (GridRegion n in neighbours) | 106 | foreach (GridRegion n in neighbours) |
107 | { | 107 | { |
108 | InformNeighbourThatRegionUpDelegate d = InformNeighboursThatRegionIsUpAsync; | 108 | InformNeighbourThatRegionUpDelegate d = InformNeighboursThatRegionIsUpAsync; |