diff options
Diffstat (limited to 'linden/indra/newview/llpanelcontents.cpp')
-rw-r--r-- | linden/indra/newview/llpanelcontents.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/linden/indra/newview/llpanelcontents.cpp b/linden/indra/newview/llpanelcontents.cpp index 2265ed5..4d138d4 100644 --- a/linden/indra/newview/llpanelcontents.cpp +++ b/linden/indra/newview/llpanelcontents.cpp | |||
@@ -1,4 +1,4 @@ | |||
1 | /** | 1 | /** |
2 | * @file llpanelcontents.cpp | 2 | * @file llpanelcontents.cpp |
3 | * @brief Object contents panel in the tools floater. | 3 | * @brief Object contents panel in the tools floater. |
4 | * | 4 | * |
@@ -101,21 +101,25 @@ LLPanelContents::~LLPanelContents() | |||
101 | void LLPanelContents::getState(LLViewerObject *objectp ) | 101 | void LLPanelContents::getState(LLViewerObject *objectp ) |
102 | { | 102 | { |
103 | if( !objectp ) | 103 | if( !objectp ) |
104 | { | 104 | { |
105 | childSetEnabled("button new script",FALSE); | 105 | childSetEnabled("button new script",FALSE); |
106 | //mBtnNewScript->setEnabled( FALSE ); | 106 | //mBtnNewScript->setEnabled( FALSE ); |
107 | return; | 107 | return; |
108 | } | 108 | } |
109 | 109 | ||
110 | LLUUID group_id; // used for SL-23488 | ||
111 | gSelectMgr->selectGetGroup(group_id); // sets group_id as a side effect SL-23488 | ||
112 | |||
110 | // BUG? Check for all objects being editable? | 113 | // BUG? Check for all objects being editable? |
111 | BOOL editable = gAgent.isGodlike() | 114 | BOOL editable = gAgent.isGodlike() |
112 | || (objectp->permModify() && objectp->permYouOwner()); | 115 | || (objectp->permModify() |
116 | && ( objectp->permYouOwner() || ( !group_id.isNull() && gAgent.isInGroup(group_id) ))); // solves SL-23488 | ||
113 | BOOL all_volume = gSelectMgr->selectionAllPCode( LL_PCODE_VOLUME ); | 117 | BOOL all_volume = gSelectMgr->selectionAllPCode( LL_PCODE_VOLUME ); |
114 | 118 | ||
115 | // Edit script button - ok if object is editable and there's an | 119 | // Edit script button - ok if object is editable and there's an |
116 | // unambiguous destination for the object. | 120 | // unambiguous destination for the object. |
117 | if( editable && | 121 | if( editable && |
118 | all_volume && | 122 | all_volume && |
119 | ((gSelectMgr->getSelection()->getRootObjectCount() == 1) | 123 | ((gSelectMgr->getSelection()->getRootObjectCount() == 1) |
120 | || (gSelectMgr->getSelection()->getObjectCount() == 1))) | 124 | || (gSelectMgr->getSelection()->getObjectCount() == 1))) |
121 | { | 125 | { |