diff options
Diffstat (limited to '')
-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 401551d..de8ecc2 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3355,7 +3355,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
3355 | /// </summary> | 3355 | /// </summary> |
3356 | public void RegisterCommsEvents() | 3356 | public void RegisterCommsEvents() |
3357 | { | 3357 | { |
3358 | m_sceneGridService.OnExpectUser += HandleNewUserConnection; | ||
3359 | m_sceneGridService.OnAvatarCrossingIntoRegion += AgentCrossing; | 3358 | m_sceneGridService.OnAvatarCrossingIntoRegion += AgentCrossing; |
3360 | m_sceneGridService.OnCloseAgentConnection += IncomingCloseAgent; | 3359 | m_sceneGridService.OnCloseAgentConnection += IncomingCloseAgent; |
3361 | //m_eventManager.OnRegionUp += OtherRegionUp; | 3360 | //m_eventManager.OnRegionUp += OtherRegionUp; |
@@ -3376,7 +3375,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
3376 | //m_sceneGridService.OnRemoveKnownRegionFromAvatar -= HandleRemoveKnownRegionsFromAvatar; | 3375 | //m_sceneGridService.OnRemoveKnownRegionFromAvatar -= HandleRemoveKnownRegionsFromAvatar; |
3377 | //m_sceneGridService.OnChildAgentUpdate -= IncomingChildAgentDataUpdate; | 3376 | //m_sceneGridService.OnChildAgentUpdate -= IncomingChildAgentDataUpdate; |
3378 | //m_eventManager.OnRegionUp -= OtherRegionUp; | 3377 | //m_eventManager.OnRegionUp -= OtherRegionUp; |
3379 | m_sceneGridService.OnExpectUser -= HandleNewUserConnection; | ||
3380 | m_sceneGridService.OnAvatarCrossingIntoRegion -= AgentCrossing; | 3378 | m_sceneGridService.OnAvatarCrossingIntoRegion -= AgentCrossing; |
3381 | m_sceneGridService.OnCloseAgentConnection -= IncomingCloseAgent; | 3379 | m_sceneGridService.OnCloseAgentConnection -= IncomingCloseAgent; |
3382 | m_sceneGridService.OnGetLandData -= GetLandData; | 3380 | m_sceneGridService.OnGetLandData -= GetLandData; |
@@ -3388,22 +3386,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
3388 | m_log.WarnFormat("[SCENE]: Deregister from grid failed for region {0}", m_regInfo.RegionName); | 3386 | m_log.WarnFormat("[SCENE]: Deregister from grid failed for region {0}", m_regInfo.RegionName); |
3389 | } | 3387 | } |
3390 | 3388 | ||
3391 | /// <summary> | ||
3392 | /// A handler for the SceneCommunicationService event, to match that events return type of void. | ||
3393 | /// Use NewUserConnection() directly if possible so the return type can refuse connections. | ||
3394 | /// At the moment nothing actually seems to use this event, | ||
3395 | /// as everything is switching to calling the NewUserConnection method directly. | ||
3396 | /// | ||
3397 | /// Now obsoleting this because it doesn't handle teleportFlags propertly | ||
3398 | /// | ||
3399 | /// </summary> | ||
3400 | /// <param name="agent"></param> | ||
3401 | [Obsolete("Please call NewUserConnection directly.")] | ||
3402 | public void HandleNewUserConnection(AgentCircuitData agent) | ||
3403 | { | ||
3404 | string reason; | ||
3405 | NewUserConnection(agent, 0, out reason); | ||
3406 | } | ||
3407 | 3389 | ||
3408 | /// <summary> | 3390 | /// <summary> |
3409 | /// Do the work necessary to initiate a new user connection for a particular scene. | 3391 | /// Do the work necessary to initiate a new user connection for a particular scene. |
@@ -3465,13 +3447,22 @@ namespace OpenSim.Region.Framework.Scenes | |||
3465 | ScenePresence sp = GetScenePresence(agent.AgentID); | 3447 | ScenePresence sp = GetScenePresence(agent.AgentID); |
3466 | if (sp != null) | 3448 | if (sp != null) |
3467 | { | 3449 | { |
3468 | m_log.DebugFormat( | 3450 | if (sp.IsChildAgent) |
3469 | "[SCENE]: Adjusting known seeds for existing agent {0} in {1}", | 3451 | { |
3470 | agent.AgentID, RegionInfo.RegionName); | 3452 | m_log.DebugFormat( |
3453 | "[SCENE]: Adjusting known seeds for existing agent {0} in {1}", | ||
3454 | agent.AgentID, RegionInfo.RegionName); | ||
3471 | 3455 | ||
3472 | sp.AdjustKnownSeeds(); | 3456 | sp.AdjustKnownSeeds(); |
3473 | 3457 | ||
3474 | return true; | 3458 | return true; |
3459 | } | ||
3460 | else | ||
3461 | { | ||
3462 | // We have a zombie from a crashed session. Kill it. | ||
3463 | m_log.DebugFormat("[SCENE]: Zombie scene presence detected for {0} in {1}", agent.AgentID, RegionInfo.RegionName); | ||
3464 | sp.ControllingClient.Close(); | ||
3465 | } | ||
3475 | } | 3466 | } |
3476 | 3467 | ||
3477 | CapsModule.AddCapsHandler(agent.AgentID); | 3468 | CapsModule.AddCapsHandler(agent.AgentID); |