aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes
diff options
context:
space:
mode:
authorMelanie2010-05-16 17:22:38 +0100
committerMelanie2010-05-16 17:22:38 +0100
commitd8bf370fd641488292ff211e989897433f65638e (patch)
tree7f16dbae78ba14010860cddb0ded548f46bc0d6a /OpenSim/Region/Framework/Scenes
parentMerge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/va... (diff)
parentFixes mantis #4691 for real. This time I tested it, and it works. (diff)
downloadopensim-SC_OLD-d8bf370fd641488292ff211e989897433f65638e.zip
opensim-SC_OLD-d8bf370fd641488292ff211e989897433f65638e.tar.gz
opensim-SC_OLD-d8bf370fd641488292ff211e989897433f65638e.tar.bz2
opensim-SC_OLD-d8bf370fd641488292ff211e989897433f65638e.tar.xz
Merge branch 'master' into careminster-presence-refactor
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs37
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);