aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs36
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs8
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;