diff options
author | Justin Clarke Casey | 2008-03-25 18:47:14 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-03-25 18:47:14 +0000 |
commit | 8c74cf775895276e485f82b04c23099db09dc682 (patch) | |
tree | 7f11eafe072b32a0f9b949844e9150c8167d9bb6 /OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | |
parent | * Use Face normal to offset new prim instead of the hard coded pos.Z += 0.25f... (diff) | |
download | opensim-SC_OLD-8c74cf775895276e485f82b04c23099db09dc682.zip opensim-SC_OLD-8c74cf775895276e485f82b04c23099db09dc682.tar.gz opensim-SC_OLD-8c74cf775895276e485f82b04c23099db09dc682.tar.bz2 opensim-SC_OLD-8c74cf775895276e485f82b04c23099db09dc682.tar.xz |
* Tear down CAPS and http handlers when an agent leaves a region (via crossing, teleport or logout)
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs index f2b2f20..318b04a 100644 --- a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | |||
@@ -547,6 +547,12 @@ namespace OpenSim.Region.Environment.Scenes | |||
547 | if(destRegionUp) | 547 | if(destRegionUp) |
548 | { | 548 | { |
549 | avatar.Close(); | 549 | avatar.Close(); |
550 | |||
551 | // Compared to ScenePresence.CrossToNewRegion(), there's no obvious code to handle a teleport | ||
552 | // failure at this point (unlike a border crossing failure). So perhaps this can never fail | ||
553 | // once we reach here... | ||
554 | avatar.Scene.RemoveCapsHandler(avatar.UUID); | ||
555 | |||
550 | m_commsProvider.InterRegion.InformRegionOfChildAgent(regionHandle, agent); | 556 | m_commsProvider.InterRegion.InformRegionOfChildAgent(regionHandle, agent); |
551 | m_commsProvider.InterRegion.ExpectAvatarCrossing(regionHandle, avatar.ControllingClient.AgentId, | 557 | m_commsProvider.InterRegion.ExpectAvatarCrossing(regionHandle, avatar.ControllingClient.AgentId, |
552 | position, false); | 558 | position, false); |
@@ -555,7 +561,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
555 | // TODO Should construct this behind a method | 561 | // TODO Should construct this behind a method |
556 | string capsPath = | 562 | string capsPath = |
557 | "http://" + reg.ExternalHostName + ":" + reg.HttpPort | 563 | "http://" + reg.ExternalHostName + ":" + reg.HttpPort |
558 | + "/CAPS/" + circuitdata.CapsPath + "0000/"; | 564 | + "/CAPS/" + circuitdata.CapsPath + "0000/"; |
565 | |||
566 | m_log.DebugFormat( | ||
567 | "[CONNECTION DEBUGGING]: Sending new CAPS seed url {0} to avatar {1}", capsPath, avatar.UUID); | ||
559 | 568 | ||
560 | avatar.ControllingClient.SendRegionTeleport(regionHandle, 13, reg.ExternalEndPoint, 4, (1 << 4), | 569 | avatar.ControllingClient.SendRegionTeleport(regionHandle, 13, reg.ExternalEndPoint, 4, (1 << 4), |
561 | capsPath); | 570 | capsPath); |