diff options
Merge branch 'master' into careminster-presence-refactor
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 37 |
1 files changed, 14 insertions, 23 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 5973847..3d59615 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3383,7 +3383,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
3383 | /// </summary> | 3383 | /// </summary> |
3384 | public void RegisterCommsEvents() | 3384 | public void RegisterCommsEvents() |
3385 | { | 3385 | { |
3386 | m_sceneGridService.OnExpectUser += HandleNewUserConnection; | ||
3387 | m_sceneGridService.OnAvatarCrossingIntoRegion += AgentCrossing; | 3386 | m_sceneGridService.OnAvatarCrossingIntoRegion += AgentCrossing; |
3388 | m_sceneGridService.OnCloseAgentConnection += IncomingCloseAgent; | 3387 | m_sceneGridService.OnCloseAgentConnection += IncomingCloseAgent; |
3389 | //m_eventManager.OnRegionUp += OtherRegionUp; | 3388 | //m_eventManager.OnRegionUp += OtherRegionUp; |
@@ -3404,7 +3403,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
3404 | //m_sceneGridService.OnRemoveKnownRegionFromAvatar -= HandleRemoveKnownRegionsFromAvatar; | 3403 | //m_sceneGridService.OnRemoveKnownRegionFromAvatar -= HandleRemoveKnownRegionsFromAvatar; |
3405 | //m_sceneGridService.OnChildAgentUpdate -= IncomingChildAgentDataUpdate; | 3404 | //m_sceneGridService.OnChildAgentUpdate -= IncomingChildAgentDataUpdate; |
3406 | //m_eventManager.OnRegionUp -= OtherRegionUp; | 3405 | //m_eventManager.OnRegionUp -= OtherRegionUp; |
3407 | m_sceneGridService.OnExpectUser -= HandleNewUserConnection; | ||
3408 | m_sceneGridService.OnAvatarCrossingIntoRegion -= AgentCrossing; | 3406 | m_sceneGridService.OnAvatarCrossingIntoRegion -= AgentCrossing; |
3409 | m_sceneGridService.OnCloseAgentConnection -= IncomingCloseAgent; | 3407 | m_sceneGridService.OnCloseAgentConnection -= IncomingCloseAgent; |
3410 | m_sceneGridService.OnGetLandData -= GetLandData; | 3408 | m_sceneGridService.OnGetLandData -= GetLandData; |
@@ -3416,22 +3414,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
3416 | m_log.WarnFormat("[SCENE]: Deregister from grid failed for region {0}", m_regInfo.RegionName); | 3414 | m_log.WarnFormat("[SCENE]: Deregister from grid failed for region {0}", m_regInfo.RegionName); |
3417 | } | 3415 | } |
3418 | 3416 | ||
3419 | /// <summary> | ||
3420 | /// A handler for the SceneCommunicationService event, to match that events return type of void. | ||
3421 | /// Use NewUserConnection() directly if possible so the return type can refuse connections. | ||
3422 | /// At the moment nothing actually seems to use this event, | ||
3423 | /// as everything is switching to calling the NewUserConnection method directly. | ||
3424 | /// | ||
3425 | /// Now obsoleting this because it doesn't handle teleportFlags propertly | ||
3426 | /// | ||
3427 | /// </summary> | ||
3428 | /// <param name="agent"></param> | ||
3429 | [Obsolete("Please call NewUserConnection directly.")] | ||
3430 | public void HandleNewUserConnection(AgentCircuitData agent) | ||
3431 | { | ||
3432 | string reason; | ||
3433 | NewUserConnection(agent, 0, out reason); | ||
3434 | } | ||
3435 | 3417 | ||
3436 | /// <summary> | 3418 | /// <summary> |
3437 | /// Do the work necessary to initiate a new user connection for a particular scene. | 3419 | /// Do the work necessary to initiate a new user connection for a particular scene. |
@@ -3493,13 +3475,22 @@ namespace OpenSim.Region.Framework.Scenes | |||
3493 | ScenePresence sp = GetScenePresence(agent.AgentID); | 3475 | ScenePresence sp = GetScenePresence(agent.AgentID); |
3494 | if (sp != null) | 3476 | if (sp != null) |
3495 | { | 3477 | { |
3496 | m_log.DebugFormat( | 3478 | if (sp.IsChildAgent) |
3497 | "[SCENE]: Adjusting known seeds for existing agent {0} in {1}", | 3479 | { |
3498 | agent.AgentID, RegionInfo.RegionName); | 3480 | m_log.DebugFormat( |
3481 | "[SCENE]: Adjusting known seeds for existing agent {0} in {1}", | ||
3482 | agent.AgentID, RegionInfo.RegionName); | ||
3499 | 3483 | ||
3500 | sp.AdjustKnownSeeds(); | 3484 | sp.AdjustKnownSeeds(); |
3501 | 3485 | ||
3502 | return true; | 3486 | return true; |
3487 | } | ||
3488 | else | ||
3489 | { | ||
3490 | // We have a zombie from a crashed session. Kill it. | ||
3491 | m_log.DebugFormat("[SCENE]: Zombie scene presence detected for {0} in {1}", agent.AgentID, RegionInfo.RegionName); | ||
3492 | sp.ControllingClient.Close(); | ||
3493 | } | ||
3503 | } | 3494 | } |
3504 | 3495 | ||
3505 | CapsModule.AddCapsHandler(agent.AgentID); | 3496 | CapsModule.AddCapsHandler(agent.AgentID); |