aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorOren Hurvitz2014-04-06 17:36:46 +0300
committerOren Hurvitz2014-04-06 15:42:33 +0100
commitf3508649f5eceb9f8862a7f377591a378f044aa7 (patch)
tree3fa686386e110dfa0cf44ecab7df2a087b1819dc
parentWhen preparing a Hypergrid teleport, tell the receiving grid which user is en... (diff)
downloadopensim-SC-f3508649f5eceb9f8862a7f377591a378f044aa7.zip
opensim-SC-f3508649f5eceb9f8862a7f377591a378f044aa7.tar.gz
opensim-SC-f3508649f5eceb9f8862a7f377591a378f044aa7.tar.bz2
opensim-SC-f3508649f5eceb9f8862a7f377591a378f044aa7.tar.xz
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.
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs2
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs6
2 files changed, 1 insertions, 7 deletions
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
666 m_log.DebugFormat( 666 m_log.DebugFormat(
667 "[ENTITY TRANSFER MODULE]: Ignoring teleport request of {0} {1} to {2} ({3}) {4}/{5} - agent is already in transit.", 667 "[ENTITY TRANSFER MODULE]: Ignoring teleport request of {0} {1} to {2} ({3}) {4}/{5} - agent is already in transit.",
668 sp.Name, sp.UUID, reg.ServerURI, finalDestination.ServerURI, finalDestination.RegionName, position); 668 sp.Name, sp.UUID, reg.ServerURI, finalDestination.ServerURI, finalDestination.RegionName, position);
669 669 sp.ControllingClient.SendTeleportFailed("Agent is already in transit.");
670 return; 670 return;
671 } 671 }
672 672
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
524 { 524 {
525 ((Scene)(remoteClient.Scene)).RequestTeleportLocation(remoteClient, info.RegionHandle, lm.Position, 525 ((Scene)(remoteClient.Scene)).RequestTeleportLocation(remoteClient, info.RegionHandle, lm.Position,
526 Vector3.Zero, (uint)(Constants.TeleportFlags.SetLastToTarget | Constants.TeleportFlags.ViaLandmark)); 526 Vector3.Zero, (uint)(Constants.TeleportFlags.SetLastToTarget | Constants.TeleportFlags.ViaLandmark));
527
528 return;
529 } 527 }
530 else 528 else
531 { 529 {
@@ -561,13 +559,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
561 else 559 else
562 { 560 {
563 remoteClient.SendTeleportFailed(message); 561 remoteClient.SendTeleportFailed(message);
564 return;
565 } 562 }
566 563
567 } 564 }
568
569 // can't find the region: Tell viewer and abort
570 remoteClient.SendTeleportFailed("The teleport destination could not be found.");
571 } 565 }
572 566
573 #endregion 567 #endregion