diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs index ffe8327..640cb3b 100644 --- a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | |||
@@ -420,11 +420,13 @@ namespace OpenSim.Region.Environment.Scenes | |||
420 | agent.InventoryFolder = LLUUID.Zero; | 420 | agent.InventoryFolder = LLUUID.Zero; |
421 | agent.startpos = position; | 421 | agent.startpos = position; |
422 | agent.child = true; | 422 | agent.child = true; |
423 | avatar.Close(); | 423 | |
424 | if (m_commsProvider.InterRegion.InformRegionOfChildAgent(regionHandle, agent) && | 424 | |
425 | m_commsProvider.InterRegion.ExpectAvatarCrossing(regionHandle, avatar.ControllingClient.AgentId, | 425 | if(m_commsProvider.InterRegion.InformRegionOfChildAgent(regionHandle, agent)) |
426 | position, false)) ; | ||
427 | { | 426 | { |
427 | avatar.Close(); | ||
428 | m_commsProvider.InterRegion.ExpectAvatarCrossing(regionHandle, avatar.ControllingClient.AgentId, | ||
429 | position, false); | ||
428 | AgentCircuitData circuitdata = avatar.ControllingClient.RequestClientInfo(); | 430 | AgentCircuitData circuitdata = avatar.ControllingClient.RequestClientInfo(); |
429 | string capsPath = Util.GetCapsURL(avatar.ControllingClient.AgentId); | 431 | string capsPath = Util.GetCapsURL(avatar.ControllingClient.AgentId); |
430 | avatar.ControllingClient.SendRegionTeleport(regionHandle, 13, reg.ExternalEndPoint, 4, (1 << 4), | 432 | avatar.ControllingClient.SendRegionTeleport(regionHandle, 13, reg.ExternalEndPoint, 4, (1 << 4), |
@@ -443,6 +445,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
443 | CloseChildAgentConnections(avatar); | 445 | CloseChildAgentConnections(avatar); |
444 | } | 446 | } |
445 | } | 447 | } |
448 | else | ||
449 | { | ||
450 | avatar.ControllingClient.SendTeleportFailed("Remote Region appears to be down"); | ||
451 | } | ||
446 | } | 452 | } |
447 | } | 453 | } |
448 | } | 454 | } |