diff options
author | Todd Stinson <stinson@lindenlab.com> | 2012-07-10 18:29:22 -0700 |
---|---|---|
committer | Todd Stinson <stinson@lindenlab.com> | 2012-07-10 18:29:22 -0700 |
commit | 34d95fdc01690fe65ac89136cbc4782a9a22af95 (patch) | |
tree | 53a40626e6d70e3b2b33f3994ae0c64f7bffbb3d /indra/newview/llselectmgr.cpp | |
parent | 241a446224013f76fee83e786568862068b60309 (diff) |
PATH-807: BUGFIX Filtering which objects will contain the right-click context-sensitive menu option of "Show in linksets...".
Diffstat (limited to 'indra/newview/llselectmgr.cpp')
-rw-r--r-- | indra/newview/llselectmgr.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 71ea5d80a9..b9449e806f 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -2787,6 +2787,36 @@ BOOL LLSelectMgr::selectGetRootsNonCharacter() //----------------------------------------------------------------------------- +// selectGetEditableLinksets() - return TRUE if all objects are editable +// pathfinding linksets +//----------------------------------------------------------------------------- +BOOL LLSelectMgr::selectGetEditableLinksets() +{ + for (LLObjectSelection::iterator iter = getSelection()->begin(); + iter != getSelection()->end(); iter++ ) + { + LLSelectNode* node = *iter; + LLViewerObject* object = node->getObject(); + if( !object || !node->mValid ) + { + return FALSE; + } + if (object->flagUsePhysics() || + object->flagTemporaryOnRez() || + object->flagCharacter() || + object->flagAnimSource() || + (!gAgent.isGodlike() && + !gAgent.canManageEstate() && + !object->permYouOwner() && + !object->permMove())) + { + return FALSE; + } + } + return TRUE; +} + +//----------------------------------------------------------------------------- // selectGetRootsTransfer() - return TRUE if current agent can transfer all // selected root objects. //----------------------------------------------------------------------------- |