From 67771646bcfd46d87ec1d889599a0e1fbbf92f8e Mon Sep 17 00:00:00 2001 From: Rye Mutt <rye@alchemyviewer.org> Date: Sun, 11 Jul 2021 02:21:04 -0400 Subject: [PATCH] Fix build floater position spinners on attachments --- indra/newview/llpanelobject.cpp | 12 +++++++++++- indra/newview/llviewerjointattachment.h | 2 ++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp index 736164facad..cd2764ade4d 100644 --- a/indra/newview/llpanelobject.cpp +++ b/indra/newview/llpanelobject.cpp @@ -71,7 +71,7 @@ // [/RLVa:KB] #include "lldrawpool.h" - +#include "llviewerjointattachment.h" // // Constants // @@ -395,6 +395,16 @@ void LLPanelObject::getState( ) mCtrlPosY->setEnabled(enable_move); mCtrlPosZ->setEnabled(enable_move); + LLViewerRegion* regionp = objectp->getRegion(); + F32 width = regionp != nullptr ? regionp->getWidth() : REGION_WIDTH_METERS; + bool is_attachment = objectp->isAttachment(); + mCtrlPosX->setMinValue(is_attachment ? -MAX_ATTACHMENT_DIST : -width); + mCtrlPosX->setMaxValue(is_attachment ? MAX_ATTACHMENT_DIST : width); + mCtrlPosY->setMinValue(is_attachment ? -MAX_ATTACHMENT_DIST : -width); + mCtrlPosY->setMaxValue(is_attachment ? MAX_ATTACHMENT_DIST : width); + mCtrlPosZ->setMinValue(is_attachment ? -MAX_ATTACHMENT_DIST : 0); + mCtrlPosZ->setMaxValue(is_attachment ? MAX_ATTACHMENT_DIST : 4096); + if (enable_scale) { vec = objectp->getScale(); diff --git a/indra/newview/llviewerjointattachment.h b/indra/newview/llviewerjointattachment.h index e5edf2c06b6..c20ba9c3931 100644 --- a/indra/newview/llviewerjointattachment.h +++ b/indra/newview/llviewerjointattachment.h @@ -37,6 +37,8 @@ class LLDrawable; class LLViewerObject; +extern const F32 MAX_ATTACHMENT_DIST; + //----------------------------------------------------------------------------- // class LLViewerJointAttachment //----------------------------------------------------------------------------- -- GitLab