diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2012-09-06 19:02:39 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2012-09-06 19:02:39 -0400 |
commit | b6f0921099b9b2a0a582886ebd6383fa20eac2b0 (patch) | |
tree | 9a2f099990176fad11c8904bfc7830f6e830a8f6 /indra/newview/llmaniptranslate.cpp | |
parent | b12ade128ba2a7f1a10b283abcfa12bfb15f06d3 (diff) | |
parent | 84884b06f206790ab5a4f52c7125665f9d32b7d8 (diff) |
Automated merge with file:///Users/nat/linden/davep-viewer-development-rebased
Diffstat (limited to 'indra/newview/llmaniptranslate.cpp')
-rw-r--r-- | indra/newview/llmaniptranslate.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/indra/newview/llmaniptranslate.cpp b/indra/newview/llmaniptranslate.cpp index f8088d04b4..362308c176 100644 --- a/indra/newview/llmaniptranslate.cpp +++ b/indra/newview/llmaniptranslate.cpp @@ -688,7 +688,9 @@ BOOL LLManipTranslate::handleHover(S32 x, S32 y, MASK mask) } } - if (object->permMove()) + LLViewerObject* root_object = (object == NULL) ? NULL : object->getRootEdit(); + if (object->permMove() && !object->isPermanentEnforced() && + ((root_object == NULL) || !root_object->isPermanentEnforced())) { // handle attachments in local space if (object->isAttachment() && object->mDrawable.notNull()) @@ -1753,6 +1755,11 @@ void LLManipTranslate::highlightIntersection(LLVector3 normal, shader->bind(); } + if (shader) + { + shader->bind(); + } + //draw volume/plane intersections { gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); @@ -2305,7 +2312,10 @@ BOOL LLManipTranslate::canAffectSelection() { virtual bool apply(LLViewerObject* objectp) { - return objectp->permMove() && (objectp->permModify() || !gSavedSettings.getBOOL("EditLinkedParts")); + LLViewerObject *root_object = (objectp == NULL) ? NULL : objectp->getRootEdit(); + return objectp->permMove() && !objectp->isPermanentEnforced() && + ((root_object == NULL) || !root_object->isPermanentEnforced()) && + (objectp->permModify() || !gSavedSettings.getBOOL("EditLinkedParts")); } } func; can_move = mObjectSelection->applyToObjects(&func); |