diff options
Diffstat (limited to 'indra/newview/lltoolcomp.cpp')
-rw-r--r-- | indra/newview/lltoolcomp.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/indra/newview/lltoolcomp.cpp b/indra/newview/lltoolcomp.cpp index a1c51cfe44..f3b253a4e5 100644 --- a/indra/newview/lltoolcomp.cpp +++ b/indra/newview/lltoolcomp.cpp @@ -226,7 +226,14 @@ void LLToolCompTranslate::pickCallback(S32 x, S32 y, MASK mask) { gEditMenuHandler = gSelectMgr; } - if( LLManip::LL_NO_PART != gToolTranslate->mManip->getHighlightedPart() ) + + BOOL can_move = gToolTranslate->mManip->getSelection()->getObjectCount() != 0; + for (LLViewerObject* objectp = gToolTranslate->mManip->getSelection()->getFirstObject(); objectp; objectp = gToolTranslate->mManip->getSelection()->getNextObject()) + { + can_move = can_move && objectp->permMove() && (objectp->permModify() || gSavedSettings.getBOOL("SelectLinkedSet")); + } + + if( LLManip::LL_NO_PART != gToolTranslate->mManip->getHighlightedPart() && can_move) { gToolTranslate->setCurrentTool( gToolTranslate->mManip ); gToolTranslate->mManip->handleMouseDownOnPart( x, y, mask ); |