Move export permission check to LLPermissions, try two.
Removes code duplication. Several parts of the code ignored the PERM_EXPORT but and still did demand that things are full perm next to being a creator. This has now changed the export rules are the same for everything as they were for mesh: you need to be the owner and the creator for every element that is exported (not just the root prim, of course).
This commit is contained in:
@@ -220,16 +220,13 @@ void WavefrontSaver::Add(const LLViewerObject* some_vo)
|
||||
}
|
||||
namespace
|
||||
{
|
||||
// Identical to the one in daeexport.cpp.
|
||||
bool can_export_node(const LLSelectNode* node)
|
||||
{
|
||||
if (const LLPermissions* perms = node->mPermissions)
|
||||
{
|
||||
if (gAgentID == perms->getCreator() || (LFSimFeatureHandler::instance().simSupportsExport() && gAgentID == perms->getOwner() && perms->getMaskEveryone() & PERM_EXPORT))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
LLPermissions* perms = node->mPermissions; // Is perms ever NULL?
|
||||
// This tests the PERM_EXPORT bit too, which is not really necessary (just checking if it's set
|
||||
// on the root prim would suffice), but also isn't hurting.
|
||||
return perms && perms->allowExportBy(gAgentID, LFSimFeatureHandler::instance().simSupportsExport());
|
||||
}
|
||||
class LFSaveSelectedObjects : public view_listener_t
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user