diff options
author | Melanie | 2012-06-08 00:14:39 +0100 |
---|---|---|
committer | Melanie | 2012-06-08 00:14:39 +0100 |
commit | c5af3e384c386dcc46588f97b342212945ada3f5 (patch) | |
tree | 011a47c2644eb4076f49d68a46c3dd9c91c1875b /OpenSim/Region/Framework/Scenes/Scene.cs | |
parent | Merge branch 'avination' into careminster (diff) | |
parent | Merge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff) | |
download | opensim-SC-c5af3e384c386dcc46588f97b342212945ada3f5.zip opensim-SC-c5af3e384c386dcc46588f97b342212945ada3f5.tar.gz opensim-SC-c5af3e384c386dcc46588f97b342212945ada3f5.tar.bz2 opensim-SC-c5af3e384c386dcc46588f97b342212945ada3f5.tar.xz |
Merge branch 'master' into careminster
Conflicts:
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 36 |
1 files changed, 18 insertions, 18 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 | ||