Enable export menus if anything is exportable

This commit is contained in:
Latif Khalifa
2013-07-31 21:52:01 +02:00
parent b4bc9727f1
commit e4b446217c

View File

@@ -2890,17 +2890,17 @@ class LLObjectEnableExport : public view_listener_t
bool supports_export = LFSimFeatureHandler::instance().simSupportsExport(); bool supports_export = LFSimFeatureHandler::instance().simSupportsExport();
if (new_value && !(supports_export && (perms.getMaskEveryone() & PERM_EXPORT))) // No need to call allowExportBy if PERM_EXPORT is set on (all) root objects. if (new_value && !(supports_export && (perms.getMaskEveryone() & PERM_EXPORT))) // No need to call allowExportBy if PERM_EXPORT is set on (all) root objects.
{ {
struct ff : public LLSelectedNodeFunctor bool can_export_any = false;
LLObjectSelectionHandle selection = LLSelectMgr::getInstance()->getSelection();
for (LLObjectSelection::iterator node = selection->begin(); node != selection->end(); ++node)
{ {
bool mSupportsExport; if ((*node)->mPermissions->allowExportBy(gAgent.getID(), supports_export))
ff(bool supports_export) : mSupportsExport(supports_export) { }
virtual bool apply(LLSelectNode* node)
{ {
return node->mPermissions->allowExportBy(gAgent.getID(), mSupportsExport); can_export_any = true;
break;
} }
}; }
ff the_ff(supports_export); new_value = can_export_any;
new_value = LLSelectMgr::getInstance()->getSelection()->applyToNodes(&the_ff, false);
} }
gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value); gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
return true; return true;