aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
diff options
context:
space:
mode:
authorUbitUmarov2017-01-17 13:24:09 +0000
committerUbitUmarov2017-01-17 13:24:09 +0000
commitdb2fbf6516a055beb71de9b82a9773c29bf3a73d (patch)
tree63aeb5610c0cd97d473254623dac28b17d7ef24e /OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
parentadd more calls to effective permissions aggregation; do not change groupmask ... (diff)
downloadopensim-SC-db2fbf6516a055beb71de9b82a9773c29bf3a73d.zip
opensim-SC-db2fbf6516a055beb71de9b82a9773c29bf3a73d.tar.gz
opensim-SC-db2fbf6516a055beb71de9b82a9773c29bf3a73d.tar.bz2
opensim-SC-db2fbf6516a055beb71de9b82a9773c29bf3a73d.tar.xz
add more calls to effective permissions aggregation, some paths may still be missing on objects changes, but remove the aggregation on check paths, so all can be tested.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.Inventory.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs8
1 files changed, 7 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index c913271..473589a 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -338,6 +338,7 @@ namespace OpenSim.Region.Framework.Scenes
338 // Update item with new asset 338 // Update item with new asset
339 item.AssetID = asset.FullID; 339 item.AssetID = asset.FullID;
340 group.UpdateInventoryItem(item); 340 group.UpdateInventoryItem(item);
341 group.AggregatePerms();
341 342
342 part.SendPropertiesToClient(remoteClient); 343 part.SendPropertiesToClient(remoteClient);
343 344
@@ -1214,6 +1215,7 @@ namespace OpenSim.Region.Framework.Scenes
1214 } 1215 }
1215 1216
1216 group.RemoveInventoryItem(localID, itemID); 1217 group.RemoveInventoryItem(localID, itemID);
1218 group.AggregatePerms();
1217 } 1219 }
1218 1220
1219 part.SendPropertiesToClient(remoteClient); 1221 part.SendPropertiesToClient(remoteClient);
@@ -1530,9 +1532,10 @@ namespace OpenSim.Region.Framework.Scenes
1530 destTaskItem.Type = srcTaskItem.Type; 1532 destTaskItem.Type = srcTaskItem.Type;
1531 1533
1532 destPart.Inventory.AddInventoryItem(destTaskItem, part.OwnerID != destPart.OwnerID); 1534 destPart.Inventory.AddInventoryItem(destTaskItem, part.OwnerID != destPart.OwnerID);
1533
1534 if ((srcTaskItem.CurrentPermissions & (uint)PermissionMask.Copy) == 0) 1535 if ((srcTaskItem.CurrentPermissions & (uint)PermissionMask.Copy) == 0)
1536 {
1535 part.Inventory.RemoveInventoryItem(itemId); 1537 part.Inventory.RemoveInventoryItem(itemId);
1538 }
1536 1539
1537 ScenePresence avatar; 1540 ScenePresence avatar;
1538 1541
@@ -1978,6 +1981,8 @@ namespace OpenSim.Region.Framework.Scenes
1978 part.Inventory.AddInventoryItem(taskItem, false); 1981 part.Inventory.AddInventoryItem(taskItem, false);
1979 part.Inventory.CreateScriptInstance(taskItem, 0, false, DefaultScriptEngine, 0); 1982 part.Inventory.CreateScriptInstance(taskItem, 0, false, DefaultScriptEngine, 0);
1980 1983
1984 part.ParentGroup.AggregatePerms();
1985
1981 // tell anyone managing scripts that a new script exists 1986 // tell anyone managing scripts that a new script exists
1982 EventManager.TriggerNewScript(agentID, part, taskItem.ItemID); 1987 EventManager.TriggerNewScript(agentID, part, taskItem.ItemID);
1983 1988
@@ -2658,6 +2663,7 @@ namespace OpenSim.Region.Framework.Scenes
2658 2663
2659 // We can only call this after adding the scene object, since the scene object references the scene 2664 // We can only call this after adding the scene object, since the scene object references the scene
2660 // to find out if scripts should be activated at all. 2665 // to find out if scripts should be activated at all.
2666 group.AggregatePerms();
2661 group.CreateScriptInstances(param, true, DefaultScriptEngine, 3); 2667 group.CreateScriptInstances(param, true, DefaultScriptEngine, 3);
2662 2668
2663 group.ScheduleGroupForFullUpdate(); 2669 group.ScheduleGroupForFullUpdate();