PATH-199: Disabling more functionality of the build tool floater when permanancy is enforced.

meow-7.2.2
Todd Stinson 2012-03-21 18:00:21 -07:00
parent b7aa6803a1
commit 22681ddb90
3 changed files with 14 additions and 8 deletions

View File

@ -501,24 +501,30 @@ void LLPanelObject::getState( )
}
BOOL is_flexible = volobjp && volobjp->isFlexible();
BOOL is_permanent = root_objectp->flagObjectPermanent();
BOOL is_permanent_enforced = root_objectp->isPermanentEnforced();
// Physics checkbox
mIsPhysical = root_objectp->flagUsePhysics();
//llassert(is_permanent && mIsPhysical); // should never has a permanent object that is also physical
mCheckPhysics->set( mIsPhysical );
mCheckPhysics->setEnabled( roots_selected>0
&& (editable || gAgent.isGodlike())
&& !is_flexible);
&& !is_flexible && !is_permanent);
mIsTemporary = root_objectp->flagTemporaryOnRez();
//llassert(is_permanent && mIsTemporary); // should never has a permanent object that is also temporary
mCheckTemporary->set( mIsTemporary );
mCheckTemporary->setEnabled( roots_selected>0 && editable );
mCheckTemporary->setEnabled( roots_selected>0 && editable && !is_permanent);
mIsPhantom = root_objectp->flagPhantom();
mCheckPhantom->set( mIsPhantom );
mCheckPhantom->setEnabled( roots_selected>0 && editable && !is_flexible );
mCheckPhantom->setEnabled( roots_selected>0 && editable && !is_flexible && !is_permanent_enforced );
mCheckPermanent->set( root_objectp->flagObjectPermanent() );
mCheckPermanent->setEnabled( FALSE );
mCheckPermanent->set(is_permanent);
mCheckPermanent->setEnabled(FALSE);
//----------------------------------------------------------------------------

View File

@ -495,7 +495,7 @@ void LLPanelVolume::getState( )
mComboPhysicsShapeType->add(getString("Convex Hull"), LLSD(2));
mComboPhysicsShapeType->setValue(LLSD(objectp->getPhysicsShapeType()));
mComboPhysicsShapeType->setEnabled(editable);
mComboPhysicsShapeType->setEnabled(editable && !objectp->isPermanentEnforced());
mObject = objectp;
mRootObject = root_objectp;

View File

@ -638,7 +638,7 @@ bool LLSelectMgr::enableLinkObjects()
{
virtual bool apply(LLViewerObject* object)
{
return object->permModify();
return object->permModify() && !object->isPermanentEnforced();
}
} func;
const bool firstonly = true;
@ -654,7 +654,7 @@ bool LLSelectMgr::enableUnlinkObjects()
bool new_value = LLSelectMgr::getInstance()->selectGetAllRootsValid() &&
first_editable_object &&
!first_editable_object->isAttachment();
!first_editable_object->isAttachment() && !first_editable_object->isPermanentEnforced();
return new_value;
}