summaryrefslogtreecommitdiff
path: root/indra/newview/llmaniprotate.cpp
diff options
context:
space:
mode:
authorTodd Stinson <stinson@lindenlab.com>2012-03-13 15:33:15 -0700
committerTodd Stinson <stinson@lindenlab.com>2012-03-13 15:33:15 -0700
commit378ae8ce6588ce921b2aa960c08d4293c6b419e5 (patch)
tree60430a40b06753c6aa4571cb7b2ee366e711a5f1 /indra/newview/llmaniprotate.cpp
parent629ec1d54d16549d42198a9ac83a33bb9b51ab22 (diff)
PATH-199: Enforcing permanent objects in frozen state to not move.
Diffstat (limited to 'indra/newview/llmaniprotate.cpp')
-rw-r--r--indra/newview/llmaniprotate.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/indra/newview/llmaniprotate.cpp b/indra/newview/llmaniprotate.cpp
index a8da94f75e..7ac347e66a 100644
--- a/indra/newview/llmaniprotate.cpp
+++ b/indra/newview/llmaniprotate.cpp
@@ -481,7 +481,7 @@ BOOL LLManipRotate::handleMouseUp(S32 x, S32 y, MASK mask)
LLViewerObject* object = selectNode->getObject();
// have permission to move and object is root of selection or individually selected
- if (object->permMove() && (object->isRootEdit() || selectNode->mIndividualSelection))
+ if (object->permMove() && !object->isPermanentEnforced() && (object->isRootEdit() || selectNode->mIndividualSelection))
{
object->mUnselectedChildrenPositions.clear() ;
}
@@ -569,7 +569,7 @@ void LLManipRotate::drag( S32 x, S32 y )
LLViewerObject* object = selectNode->getObject();
// have permission to move and object is root of selection or individually selected
- if (object->permMove() && (object->isRootEdit() || selectNode->mIndividualSelection))
+ if (object->permMove() && !object->isPermanentEnforced() && (object->isRootEdit() || selectNode->mIndividualSelection))
{
if (!object->isRootEdit())
{
@@ -623,7 +623,7 @@ void LLManipRotate::drag( S32 x, S32 y )
LLViewerObject* object = selectNode->getObject();
// to avoid cumulative position changes we calculate the objects new position using its saved position
- if (object && object->permMove())
+ if (object && object->permMove() && !object->isPermanentEnforced())
{
LLVector3 center = gAgent.getPosAgentFromGlobal( mRotationCenter );
@@ -704,7 +704,7 @@ void LLManipRotate::drag( S32 x, S32 y )
{
LLSelectNode* selectNode = *iter;
LLViewerObject*cur = selectNode->getObject();
- if( cur->permModify() && cur->permMove() && !cur->isAvatar())
+ if( cur->permModify() && cur->permMove() && !cur->isPermanentEnforced() && !cur->isAvatar())
{
selectNode->mLastRotation = cur->getRotation();
selectNode->mLastPositionLocal = cur->getPosition();
@@ -1871,7 +1871,7 @@ BOOL LLManipRotate::canAffectSelection()
{
virtual bool apply(LLViewerObject* objectp)
{
- return objectp->permMove() && (objectp->permModify() || !gSavedSettings.getBOOL("EditLinkedParts"));
+ return objectp->permMove() && !objectp->isPermanentEnforced() && (objectp->permModify() || !gSavedSettings.getBOOL("EditLinkedParts"));
}
} func;
can_rotate = mObjectSelection->applyToObjects(&func);