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