diff --git a/indra/newview/fsfloaterplacedetails.cpp b/indra/newview/fsfloaterplacedetails.cpp index 8ca6081b39..a21eff9f73 100644 --- a/indra/newview/fsfloaterplacedetails.cpp +++ b/indra/newview/fsfloaterplacedetails.cpp @@ -57,6 +57,7 @@ #include "llviewerparcelmgr.h" #include "llviewerwindow.h" #include "llviewerinventory.h" +#include "rlvactions.h" static const F32 FS_PLACE_INFO_UPDATE_INTERVAL = 3.0f; @@ -442,6 +443,7 @@ void FSFloaterPlaceDetails::updateVerbs() else if (mDisplayInfo == REMOTE_PLACE || mDisplayInfo == TELEPORT_HISTORY_ITEM) { getChildView("teleport_btn")->setVisible(TRUE); + getChildView("teleport_btn")->setEnabled(RlvActions::canTeleportToLocation()); getChildView("map_btn")->setVisible(TRUE); getChildView("edit_btn")->setVisible(FALSE); getChildView("save_btn")->setVisible(FALSE); diff --git a/indra/newview/llpanelplaces.cpp b/indra/newview/llpanelplaces.cpp index 3ca86e9cb8..07aae713b2 100644 --- a/indra/newview/llpanelplaces.cpp +++ b/indra/newview/llpanelplaces.cpp @@ -75,6 +75,7 @@ #include "llviewerwindow.h" #include "fsfloaterplacedetails.h" #include "fscommon.h" +#include "rlvactions.h" // Constants static const F32 PLACE_INFO_UPDATE_INTERVAL = 3.0; @@ -1271,7 +1272,10 @@ void LLPanelPlaces::updateVerbs() //else if (mPlaceInfoType == LANDMARK_INFO_TYPE || mPlaceInfoType == REMOTE_PLACE_INFO_TYPE) else if (mPlaceInfoType == LANDMARK_INFO_TYPE || mPlaceInfoType == REMOTE_PLACE_INFO_TYPE || mPlaceInfoType == TELEPORT_HISTORY_INFO_TYPE) { - mTeleportBtn->setEnabled(have_3d_pos); + // FIRE-21863: TP restrictions can be circumvented via parcel SLURL + //mTeleportBtn->setEnabled(have_3d_pos); + mTeleportBtn->setEnabled(have_3d_pos && RlvActions::canTeleportToLocation()); + // } } else