summaryrefslogtreecommitdiff
path: root/indra/newview/lltoolcomp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/lltoolcomp.cpp')
-rw-r--r--indra/newview/lltoolcomp.cpp9
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 );