summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelobject.cpp
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2018-09-27 19:54:10 +0100
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2018-09-27 19:54:10 +0100
commita84ee929a5221aec07bcc93815ca6c57bb8ab6bb (patch)
treeecf9694b9e772161b67c8b0935362b0e05cc7c7d /indra/newview/llpanelobject.cpp
parent4d4255c27b45ed5e32fe7c4870e2ce3ed10cb140 (diff)
parent58aef8beaf79dc83546a7b080014ca5030733ac8 (diff)
merge
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)