diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index b8a2d52f2a..80a556b19a 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -4713,6 +4713,13 @@ void LLAgent::teleportRequest(const U64& region_handle, const LLVector3& pos_loc // Landmark ID = LLUUID::null means teleport home void LLAgent::teleportViaLandmark(const LLUUID& landmark_asset_id) { + // FIRE-21576: Prevent TPing home while still logging in if RLVa is enabled + if (RlvActions::isRlvEnabled() && LLStartUp::getStartupState() < STATE_STARTED) + { + return; + } + // + // [RLVa:KB] - Checked: 2010-08-22 (RLVa-1.2.1a) | Modified: RLVa-1.2.1a // NOTE: we'll allow teleporting home unless both @tplm=n *and* @tploc=n restricted if ( (rlv_handler_t::isEnabled()) && @@ -4828,6 +4835,11 @@ void LLAgent::teleportViaLocation(const LLVector3d& pos_global) // [RLVa:KB] - Checked: RLVa-2.0.0 if ( (RlvActions::isRlvEnabled()) && (!RlvUtil::isForceTp()) ) { + if (LLStartUp::getStartupState() < STATE_STARTED) + { + return; + } + if ( (RlvActions::isLocalTp(pos_global)) ? !RlvActions::canTeleportToLocal(pos_global) : !RlvActions::canTeleportToLocation() ) { RlvUtil::notifyBlocked(RLV_STRING_BLOCKED_TELEPORT); @@ -4908,6 +4920,11 @@ void LLAgent::teleportViaLocationLookAt(const LLVector3d& pos_global, const LLVe { if ( (RlvActions::isRlvEnabled()) && (!RlvUtil::isForceTp()) ) { + if (LLStartUp::getStartupState() < STATE_STARTED) + { + return; + } + if ( (RlvActions::isLocalTp(pos_global)) ? !RlvActions::canTeleportToLocal(pos_global) : !RlvActions::canTeleportToLocation() ) { RlvUtil::notifyBlocked(RLV_STRING_BLOCKED_TELEPORT); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 605196851f..be6118b00d 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -7054,13 +7054,7 @@ class LLWorldTeleportHome : public view_listener_t { bool handleEvent(const LLSD& userdata) { - // FIRE-21576: Prevent TPing home while still logging in if RLVa is enabled - //gAgent.teleportHome(); - if (!rlv_handler_t::isEnabled() || LLStartUp::getStartupState() == STATE_STARTED) - { - gAgent.teleportHome(); - } - // + gAgent.teleportHome(); return true; } };