diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 1b08c50..f331984 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3914,12 +3914,22 @@ namespace OpenSim.Region.Framework.Scenes | |||
3914 | return false; | 3914 | return false; |
3915 | } | 3915 | } |
3916 | 3916 | ||
3917 | public bool IncomingCloseAgent(UUID agentID) | ||
3918 | { | ||
3919 | return IncomingCloseAgent(agentID, false); | ||
3920 | } | ||
3921 | |||
3922 | public bool IncomingCloseChildAgent(UUID agentID) | ||
3923 | { | ||
3924 | return IncomingCloseAgent(agentID, true); | ||
3925 | } | ||
3926 | |||
3917 | /// <summary> | 3927 | /// <summary> |
3918 | /// Tell a single agent to disconnect from the region. | 3928 | /// Tell a single agent to disconnect from the region. |
3919 | /// </summary> | 3929 | /// </summary> |
3920 | /// <param name="regionHandle"></param> | ||
3921 | /// <param name="agentID"></param> | 3930 | /// <param name="agentID"></param> |
3922 | public bool IncomingCloseAgent(UUID agentID) | 3931 | /// <param name="childOnly"></param> |
3932 | public bool IncomingCloseAgent(UUID agentID, bool childOnly) | ||
3923 | { | 3933 | { |
3924 | //m_log.DebugFormat("[SCENE]: Processing incoming close agent for {0}", agentID); | 3934 | //m_log.DebugFormat("[SCENE]: Processing incoming close agent for {0}", agentID); |
3925 | 3935 | ||
@@ -3931,7 +3941,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3931 | { | 3941 | { |
3932 | m_sceneGraph.removeUserCount(false); | 3942 | m_sceneGraph.removeUserCount(false); |
3933 | } | 3943 | } |
3934 | else | 3944 | else if (!childOnly) |
3935 | { | 3945 | { |
3936 | m_sceneGraph.removeUserCount(true); | 3946 | m_sceneGraph.removeUserCount(true); |
3937 | } | 3947 | } |
@@ -3947,9 +3957,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
3947 | } | 3957 | } |
3948 | else | 3958 | else |
3949 | presence.ControllingClient.SendShutdownConnectionNotice(); | 3959 | presence.ControllingClient.SendShutdownConnectionNotice(); |
3960 | presence.ControllingClient.Close(); | ||
3961 | } | ||
3962 | else if (!childOnly) | ||
3963 | { | ||
3964 | presence.ControllingClient.Close(); | ||
3950 | } | 3965 | } |
3951 | |||
3952 | presence.ControllingClient.Close(); | ||
3953 | return true; | 3966 | return true; |
3954 | } | 3967 | } |
3955 | 3968 | ||