summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerobject.cpp
diff options
context:
space:
mode:
authorJonathan Yap <none@none>2012-06-08 13:49:02 -0400
committerJonathan Yap <none@none>2012-06-08 13:49:02 -0400
commitfbb4e5fb0f7bba935ec9d0d466be12a346a6b149 (patch)
tree40b938b298efb8635a47297844d4c64719c13c52 /indra/newview/llviewerobject.cpp
parenta519e34f02b4b2663fe082ba9ad12f1b423669cb (diff)
STORM-68 As a Builder, I want that ability to set default permissions on creation of objects, clothing, scripts, notecards, etc.
First pass at implementation, debuggins lines still need to be removed and there is one known bug to be resolved.
Diffstat (limited to 'indra/newview/llviewerobject.cpp')
-rw-r--r--indra/newview/llviewerobject.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index cd300accb7..98856d125f 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -100,6 +100,7 @@
#include "lltrans.h"
#include "llsdutil.h"
#include "llmediaentry.h"
+#include "llfloaterperms.h"
//#define DEBUG_UPDATE_TYPE
@@ -2571,8 +2572,15 @@ void LLViewerObject::saveScript(
* interaction with doUpdateInventory() called below.
*/
lldebugs << "LLViewerObject::saveScript() " << item->getUUID() << " " << item->getAssetUUID() << llendl;
+
+ LLPermissions perm = item->getPermissions();
+ perm.setMaskNext(LLFloaterPerms::getNextOwnerPerms("Scripts"));
+ perm.setMaskEveryone(LLFloaterPerms::getEveryonePerms("Scripts"));
+ perm.setMaskGroup(LLFloaterPerms::getGroupPerms("Scripts"));
+ perm.setMaskNext(PERM_ALL);
+
LLPointer<LLViewerInventoryItem> task_item =
- new LLViewerInventoryItem(item->getUUID(), mID, item->getPermissions(),
+ new LLViewerInventoryItem(item->getUUID(), mID, perm,
item->getAssetUUID(), item->getType(),
item->getInventoryType(),
item->getName(), item->getDescription(),
@@ -2594,6 +2602,8 @@ void LLViewerObject::saveScript(
task_item->packMessage(msg);
msg->sendReliable(mRegionp->getHost());
+ task_item->setPermissions(perm);
+
// do the internal logic
doUpdateInventory(task_item, TASK_INVENTORY_ITEM_KEY, is_new);
}