diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 84fdef0..f4622b6 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3682,19 +3682,26 @@ namespace OpenSim.Region.Framework.Scenes | |||
3682 | { | 3682 | { |
3683 | ScenePresence sp = GetScenePresence(agent.AgentID); | 3683 | ScenePresence sp = GetScenePresence(agent.AgentID); |
3684 | 3684 | ||
3685 | if (sp != null && !sp.IsChildAgent) | 3685 | if (sp != null) |
3686 | { | 3686 | { |
3687 | // We have a zombie from a crashed session. | 3687 | if (!sp.IsChildAgent) |
3688 | // Or the same user is trying to be root twice here, won't work. | 3688 | { |
3689 | // Kill it. | 3689 | // We have a zombie from a crashed session. |
3690 | m_log.WarnFormat( | 3690 | // Or the same user is trying to be root twice here, won't work. |
3691 | "[SCENE]: Existing root scene presence detected for {0} {1} in {2} when connecting. Removing existing presence.", | 3691 | // Kill it. |
3692 | sp.Name, sp.UUID, RegionInfo.RegionName); | 3692 | m_log.WarnFormat( |
3693 | 3693 | "[SCENE]: Existing root scene presence detected for {0} {1} in {2} when connecting. Removing existing presence.", | |
3694 | if (sp.ControllingClient != null) | 3694 | sp.Name, sp.UUID, RegionInfo.RegionName); |
3695 | sp.ControllingClient.Close(true); | 3695 | |
3696 | if (sp.ControllingClient != null) | ||
3697 | sp.ControllingClient.Close(true); | ||
3696 | 3698 | ||
3697 | sp = null; | 3699 | sp = null; |
3700 | } | ||
3701 | else | ||
3702 | { | ||
3703 | sp.DoNotClose = true; | ||
3704 | } | ||
3698 | } | 3705 | } |
3699 | 3706 | ||
3700 | // Optimistic: add or update the circuit data with the new agent circuit data and teleport flags. | 3707 | // Optimistic: add or update the circuit data with the new agent circuit data and teleport flags. |