diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 806b5b5fa3..94ca07cf1b 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -2759,6 +2759,22 @@ namespace OpenSim.Region.Environment.Scenes /// public void NewUserConnection(AgentCircuitData agent) { + /// Diva: Horrible stuff! + capsPaths[agent.AgentID] = agent.CapsPath; + childrenSeeds[agent.AgentID] = ((agent.ChildrenCapSeeds == null) ? new Dictionary() : agent.ChildrenCapSeeds); + + ScenePresence sp = m_sceneGraph.GetScenePresence(agent.AgentID); + if (sp != null) + { + m_log.DebugFormat( + "[SCENE]: Adjusting known seeds for existing agent {0} in {1}", + agent.AgentID, RegionInfo.RegionName); + + sp.AdjustKnownSeeds(); + + return; + } + // Don't disable this log message - it's too helpful m_log.DebugFormat( "[CONNECTION BEGIN]: Scene {0} told of incoming client {1} {2} {3} (circuit code {4})", @@ -2770,31 +2786,7 @@ namespace OpenSim.Region.Environment.Scenes "[CONNECTION BEGIN]: Denied access to: {0} at {1} because the user is on the region banlist", agent.AgentID, RegionInfo.RegionName); } - - /// Diva: Horrible stuff! - capsPaths[agent.AgentID] = agent.CapsPath; - childrenSeeds[agent.AgentID] = ((agent.ChildrenCapSeeds == null) ? new Dictionary() : agent.ChildrenCapSeeds); - - ScenePresence sp = m_sceneGraph.GetScenePresence(agent.AgentID); - if (sp != null) - { - if (sp.IsChildAgent) - m_log.DebugFormat( - "[CONNECTION BEGIN]: Incoming client for {0} is existing child agent {1}", - RegionInfo.RegionName, agent.AgentID); - else - m_log.DebugFormat( - "[CONNECTION BEGIN]: Incoming client for {0} is existing root agent {1}", - RegionInfo.RegionName, agent.AgentID); - -// m_log.DebugFormat( -// "[CONNECTION BEGIN]: Updated existing agent {0} in {1}", agent.AgentID, RegionInfo.RegionName); - - sp.AdjustKnownSeeds(); - - return; - } - + AddCapsHandler(agent.AgentID); if (!agent.child)