From 60914ee2a4dac09fb1437893df6ad5906e6ed04b Mon Sep 17 00:00:00 2001 From: Hecklezz Date: Sun, 16 Aug 2026 02:09:43 +1000 Subject: [PATCH] [FIRE-36896] Set the teleport coordinates after a world map find if provided in OpenSim --- indra/newview/llfloaterworldmap.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp index efc0c9a8fa..62f82ea274 100644 --- a/indra/newview/llfloaterworldmap.cpp +++ b/indra/newview/llfloaterworldmap.cpp @@ -64,6 +64,7 @@ #include "lltoolbarview.h" #include "lltracker.h" #include "lltrans.h" +#include "llurlregistry.h" // Access to isUrl #include "llviewerinventory.h" // LLViewerInventoryItem #include "llviewermenu.h" #include "llviewerparcelmgr.h" @@ -2041,6 +2042,19 @@ void LLFloaterWorldMap::onCommitSearchResult(bool from_search) constexpr F64 SIM_COORD_DEFAULT = 128.0; LLVector3 pos_local(SIM_COORD_DEFAULT, SIM_COORD_DEFAULT, 0.0f); + // [FIRE-36896] Set the teleport coordinates if provided in OpenSim + #ifdef OPENSIM + if (LLGridManager::getInstance()->isInOpenSim() && LLUrlRegistry::instance().isUrl(sim_name)) + { + LLSLURL slurl = LLSLURL(sim_name); + if (slurl.getType() == LLSLURL::LOCATION) + { + LLVector3 slurl_position = slurl.getPosition(); + pos_local.set(slurl_position); + } + } + #endif + // // Did this value come from a trackURL() request? if (!mCompletingRegionPos.isExactlyZero())