From f3508649f5eceb9f8862a7f377591a378f044aa7 Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Sun, 6 Apr 2014 17:36:46 +0300 Subject: Fixed: during a teleport we always sent the error "The teleport destination could not be found" to the client. This happened on both success and failure. On successful teleports this error wasn't actually shown to the user. But on failed teleports this error could hide the true cause of the failure. For example, attempting to use a Landmark that's more than 4095 regions away would result in two warnings appearing in the viewer: "Region too far" and "Destination could not be found". The second message hid the first one, so it wasn't obvious to the user what is actually the problem. --- .../CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 2 +- .../CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) (limited to 'OpenSim/Region/CoreModules') diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 3040a88..4ecb8e6 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -666,7 +666,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer m_log.DebugFormat( "[ENTITY TRANSFER MODULE]: Ignoring teleport request of {0} {1} to {2} ({3}) {4}/{5} - agent is already in transit.", sp.Name, sp.UUID, reg.ServerURI, finalDestination.ServerURI, finalDestination.RegionName, position); - + sp.ControllingClient.SendTeleportFailed("Agent is already in transit."); return; } diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs index 381baed..5b7dfe3 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs @@ -524,8 +524,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer { ((Scene)(remoteClient.Scene)).RequestTeleportLocation(remoteClient, info.RegionHandle, lm.Position, Vector3.Zero, (uint)(Constants.TeleportFlags.SetLastToTarget | Constants.TeleportFlags.ViaLandmark)); - - return; } else { @@ -561,13 +559,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer else { remoteClient.SendTeleportFailed(message); - return; } } - - // can't find the region: Tell viewer and abort - remoteClient.SendTeleportFailed("The teleport destination could not be found."); } #endregion -- cgit v1.1