summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelobject.cpp
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2018-08-11 09:02:16 -0400
committerNat Goodspeed <nat@lindenlab.com>2018-08-11 09:02:16 -0400
commitf6735af9315ed91a0d28804252c1351c9d4b379f (patch)
tree1b1fc36446fd12164f28a0d9b62bd2e89fd1601c /indra/newview/llpanelobject.cpp
parent00839eb6350627c6272dea242b85ea24544cea33 (diff)
parent470e4b5afc7f0fd516eca9d61b95ff770adf3978 (diff)
Automated merge with ssh://bitbucket.org/nat_linden/viewer-no-popup
Diffstat (limited to 'indra/newview/llpanelobject.cpp')
-rw-r--r--indra/newview/llpanelobject.cpp18
1 files changed, 7 insertions, 11 deletions
diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp
index 25cfb598e7..3665910c63 100644
--- a/indra/newview/llpanelobject.cpp
+++ b/indra/newview/llpanelobject.cpp
@@ -341,21 +341,17 @@ void LLPanelObject::getState( )
return;
}
- // can move or rotate only linked group with move permissions, or sub-object with move and modify perms
- BOOL enable_move = objectp->permMove() && !objectp->isPermanentEnforced() && ((root_objectp == NULL) || !root_objectp->isPermanentEnforced()) && (objectp->permModify() || !gSavedSettings.getBOOL("EditLinkedParts"));
- BOOL enable_scale = objectp->permMove() && !objectp->isPermanentEnforced() && ((root_objectp == NULL) || !root_objectp->isPermanentEnforced()) && objectp->permModify();
- BOOL enable_rotate = objectp->permMove() && !objectp->isPermanentEnforced() && ((root_objectp == NULL) || !root_objectp->isPermanentEnforced()) && (objectp->permModify() || !gSavedSettings.getBOOL("EditLinkedParts"));
-
S32 selected_count = LLSelectMgr::getInstance()->getSelection()->getObjectCount();
BOOL single_volume = (LLSelectMgr::getInstance()->selectionAllPCode( LL_PCODE_VOLUME ))
&& (selected_count == 1);
- if (LLSelectMgr::getInstance()->getSelection()->getRootObjectCount() > 1)
- {
- enable_move = FALSE;
- enable_scale = FALSE;
- enable_rotate = FALSE;
- }
+ bool enable_move;
+ bool enable_modify;
+
+ LLSelectMgr::getInstance()->selectGetEditMoveLinksetPermissions(enable_move, enable_modify);
+
+ BOOL enable_scale = enable_modify;
+ BOOL enable_rotate = enable_move; // already accounts for a case of children, which needs permModify() as well
LLVector3 vec;
if (enable_move)