diff options
12 files changed, 21 insertions, 23 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/ObjectAdd.cs b/OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/ObjectAdd.cs index 69fcb7d..b044e56 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/ObjectAdd.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/ObjectAdd.cs | |||
@@ -357,7 +357,7 @@ namespace OpenSim.Region.ClientStack.Linden | |||
357 | rootpart.NextOwnerMask = next_owner_mask; | 357 | rootpart.NextOwnerMask = next_owner_mask; |
358 | rootpart.Material = (byte)material; | 358 | rootpart.Material = (byte)material; |
359 | 359 | ||
360 | obj.AggregatePerms(); | 360 | obj.InvalidateDeepEffectivePerms(); |
361 | 361 | ||
362 | m_scene.PhysicsScene.AddPhysicsActorTaint(rootpart.PhysActor); | 362 | m_scene.PhysicsScene.AddPhysicsActorTaint(rootpart.PhysActor); |
363 | 363 | ||
diff --git a/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs b/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs index a7a9d1d..6a8f4c0 100644 --- a/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs +++ b/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs | |||
@@ -146,7 +146,7 @@ namespace OpenSim.Region.CoreModules.World.Objects.BuySell | |||
146 | child.TriggerScriptChangedEvent(Changed.OWNER); | 146 | child.TriggerScriptChangedEvent(Changed.OWNER); |
147 | child.ApplyNextOwnerPermissions(); | 147 | child.ApplyNextOwnerPermissions(); |
148 | } | 148 | } |
149 | group.AggregatePerms(); | 149 | group.InvalidateDeepEffectivePerms(); |
150 | } | 150 | } |
151 | 151 | ||
152 | part.ObjectSaleType = 0; | 152 | part.ObjectSaleType = 0; |
diff --git a/OpenSim/Region/CoreModules/World/Vegetation/VegetationModule.cs b/OpenSim/Region/CoreModules/World/Vegetation/VegetationModule.cs index 167f6b5..4cee7a5 100644 --- a/OpenSim/Region/CoreModules/World/Vegetation/VegetationModule.cs +++ b/OpenSim/Region/CoreModules/World/Vegetation/VegetationModule.cs | |||
@@ -107,7 +107,7 @@ namespace OpenSim.Region.CoreModules.World.Vegetation | |||
107 | 107 | ||
108 | sceneObject.SetGroup(groupID, null); | 108 | sceneObject.SetGroup(groupID, null); |
109 | m_scene.AddNewSceneObject(sceneObject, true); | 109 | m_scene.AddNewSceneObject(sceneObject, true); |
110 | sceneObject.AggregatePerms(); | 110 | sceneObject.InvalidateDeepEffectivePerms(); |
111 | 111 | ||
112 | return sceneObject; | 112 | return sceneObject; |
113 | } | 113 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index d55311e..bba7a96 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -338,7 +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 | group.InvalidateEffectivePerms(); |
342 | 342 | ||
343 | part.SendPropertiesToClient(remoteClient); | 343 | part.SendPropertiesToClient(remoteClient); |
344 | 344 | ||
@@ -1216,7 +1216,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1216 | } | 1216 | } |
1217 | 1217 | ||
1218 | group.RemoveInventoryItem(localID, itemID); | 1218 | group.RemoveInventoryItem(localID, itemID); |
1219 | group.AggregatePerms(); | 1219 | group.InvalidateEffectivePerms(); |
1220 | } | 1220 | } |
1221 | 1221 | ||
1222 | part.SendPropertiesToClient(remoteClient); | 1222 | part.SendPropertiesToClient(remoteClient); |
@@ -1967,7 +1967,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1967 | part.Inventory.AddInventoryItem(taskItem, false); | 1967 | part.Inventory.AddInventoryItem(taskItem, false); |
1968 | part.Inventory.CreateScriptInstance(taskItem, 0, false, DefaultScriptEngine, 0); | 1968 | part.Inventory.CreateScriptInstance(taskItem, 0, false, DefaultScriptEngine, 0); |
1969 | 1969 | ||
1970 | part.ParentGroup.AggregatePerms(); | 1970 | part.ParentGroup.InvalidateEffectivePerms(); |
1971 | 1971 | ||
1972 | // tell anyone managing scripts that a new script exists | 1972 | // tell anyone managing scripts that a new script exists |
1973 | EventManager.TriggerNewScript(agentID, part, taskItem.ItemID); | 1973 | EventManager.TriggerNewScript(agentID, part, taskItem.ItemID); |
@@ -2655,7 +2655,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2655 | 2655 | ||
2656 | // We can only call this after adding the scene object, since the scene object references the scene | 2656 | // We can only call this after adding the scene object, since the scene object references the scene |
2657 | // to find out if scripts should be activated at all. | 2657 | // to find out if scripts should be activated at all. |
2658 | group.AggregatePerms(); | 2658 | group.InvalidateEffectivePerms(); |
2659 | group.CreateScriptInstances(param, true, DefaultScriptEngine, 3); | 2659 | group.CreateScriptInstances(param, true, DefaultScriptEngine, 3); |
2660 | 2660 | ||
2661 | group.ScheduleGroupForFullUpdate(); | 2661 | group.ScheduleGroupForFullUpdate(); |
@@ -2752,7 +2752,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2752 | // and with this comented code, if user does not set next permissions on the object | 2752 | // and with this comented code, if user does not set next permissions on the object |
2753 | // and on ALL contents of ALL prims, he may loose rights, making the object useless | 2753 | // and on ALL contents of ALL prims, he may loose rights, making the object useless |
2754 | sog.ApplyNextOwnerPermissions(); | 2754 | sog.ApplyNextOwnerPermissions(); |
2755 | sog.AggregatePerms(); | 2755 | sog.InvalidateEffectivePerms(); |
2756 | 2756 | ||
2757 | sog.ScheduleGroupForFullUpdate(); | 2757 | sog.ScheduleGroupForFullUpdate(); |
2758 | 2758 | ||
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs index 91d2879..117d92d 100755 --- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs +++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs | |||
@@ -2094,7 +2094,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2094 | child.TriggerScriptChangedEvent(Changed.OWNER); | 2094 | child.TriggerScriptChangedEvent(Changed.OWNER); |
2095 | child.ApplyNextOwnerPermissions(); | 2095 | child.ApplyNextOwnerPermissions(); |
2096 | } | 2096 | } |
2097 | copy.AggregatePerms(); | 2097 | copy.InvalidateEffectivePerms(); |
2098 | } | 2098 | } |
2099 | } | 2099 | } |
2100 | 2100 | ||
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs index 95a5887..6bb92f4 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs | |||
@@ -183,7 +183,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
183 | addFromAllowedDrop = (part.ParentGroup.RootPart.GetEffectiveObjectFlags() & (uint)PrimFlags.AllowInventoryDrop) != 0; | 183 | addFromAllowedDrop = (part.ParentGroup.RootPart.GetEffectiveObjectFlags() & (uint)PrimFlags.AllowInventoryDrop) != 0; |
184 | 184 | ||
185 | part.Inventory.AddInventoryItem(taskItem, addFromAllowedDrop); | 185 | part.Inventory.AddInventoryItem(taskItem, addFromAllowedDrop); |
186 | part.ParentGroup.AggregatePerms(); | 186 | part.ParentGroup.InvalidateEffectivePerms(); |
187 | return true; | 187 | return true; |
188 | 188 | ||
189 | } | 189 | } |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 512656b..93c9b42 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -2943,7 +2943,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2943 | if (!m_scene.Permissions.BypassPermissions()) | 2943 | if (!m_scene.Permissions.BypassPermissions()) |
2944 | { | 2944 | { |
2945 | ApplyNextOwnerPermissions(); | 2945 | ApplyNextOwnerPermissions(); |
2946 | AggregatePerms(); | 2946 | InvalidateEffectivePerms(); |
2947 | } | 2947 | } |
2948 | } | 2948 | } |
2949 | 2949 | ||
@@ -3605,7 +3605,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3605 | 3605 | ||
3606 | InvalidBoundsRadius(); | 3606 | InvalidBoundsRadius(); |
3607 | InvalidatePartsLinkMaps(); | 3607 | InvalidatePartsLinkMaps(); |
3608 | objectGroup.AggregatePerms(); | 3608 | objectGroup.InvalidateEffectivePerms(); |
3609 | 3609 | ||
3610 | if (sendEvents) | 3610 | if (sendEvents) |
3611 | linkPart.TriggerScriptChangedEvent(Changed.LINK); | 3611 | linkPart.TriggerScriptChangedEvent(Changed.LINK); |
@@ -4163,7 +4163,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4163 | // m_log.DebugFormat( | 4163 | // m_log.DebugFormat( |
4164 | // "[SCENE OBJECT GROUP]: RootPart.OwnerMask now {0} for {1} in {2}", | 4164 | // "[SCENE OBJECT GROUP]: RootPart.OwnerMask now {0} for {1} in {2}", |
4165 | // (OpenMetaverse.PermissionMask)RootPart.OwnerMask, Name, Scene.Name); | 4165 | // (OpenMetaverse.PermissionMask)RootPart.OwnerMask, Name, Scene.Name); |
4166 | AggregatePerms(); | 4166 | InvalidateEffectivePerms(); |
4167 | RootPart.ScheduleFullUpdate(); | 4167 | RootPart.ScheduleFullUpdate(); |
4168 | } | 4168 | } |
4169 | 4169 | ||
@@ -4188,7 +4188,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4188 | { | 4188 | { |
4189 | foreach (SceneObjectPart part in Parts) | 4189 | foreach (SceneObjectPart part in Parts) |
4190 | part.Inventory.ApplyGodPermissions(RootPart.BaseMask); | 4190 | part.Inventory.ApplyGodPermissions(RootPart.BaseMask); |
4191 | AggregatePerms(); | 4191 | InvalidateEffectivePerms(); |
4192 | } | 4192 | } |
4193 | 4193 | ||
4194 | HasGroupChanged = true; | 4194 | HasGroupChanged = true; |
@@ -5447,7 +5447,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
5447 | { | 5447 | { |
5448 | part.ResetOwnerChangeFlag(); | 5448 | part.ResetOwnerChangeFlag(); |
5449 | }); | 5449 | }); |
5450 | AggregatePerms(); | 5450 | InvalidateEffectivePerms(); |
5451 | } | 5451 | } |
5452 | 5452 | ||
5453 | // clear some references to easy cg | 5453 | // clear some references to easy cg |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs index 21bc19e..23da90a 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs | |||
@@ -1031,8 +1031,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1031 | 1031 | ||
1032 | if (considerChanged) | 1032 | if (considerChanged) |
1033 | { | 1033 | { |
1034 | m_part.AggregateInnerPerms(); | 1034 | m_part.ParentGroup.InvalidateDeepEffectivePerms(); |
1035 | m_part.ParentGroup.AggregatePerms(); | ||
1036 | HasInventoryChanged = true; | 1035 | HasInventoryChanged = true; |
1037 | m_part.ParentGroup.HasGroupChanged = true; | 1036 | m_part.ParentGroup.HasGroupChanged = true; |
1038 | } | 1037 | } |
@@ -1075,8 +1074,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1075 | m_items.Remove(itemID); | 1074 | m_items.Remove(itemID); |
1076 | m_items.LockItemsForWrite(false); | 1075 | m_items.LockItemsForWrite(false); |
1077 | 1076 | ||
1078 | m_part.AggregateInnerPerms(); | 1077 | m_part.ParentGroup.InvalidateDeepEffectivePerms(); |
1079 | m_part.ParentGroup.AggregatePerms(); | ||
1080 | 1078 | ||
1081 | m_inventorySerial++; | 1079 | m_inventorySerial++; |
1082 | m_part.TriggerScriptChangedEvent(Changed.INVENTORY); | 1080 | m_part.TriggerScriptChangedEvent(Changed.INVENTORY); |
diff --git a/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs b/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs index 92b5831..c3f3851 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs | |||
@@ -174,7 +174,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments | |||
174 | child.TriggerScriptChangedEvent(Changed.OWNER); | 174 | child.TriggerScriptChangedEvent(Changed.OWNER); |
175 | child.ApplyNextOwnerPermissions(); | 175 | child.ApplyNextOwnerPermissions(); |
176 | } | 176 | } |
177 | hostgroup.AggregatePerms(); | 177 | hostgroup.InvalidateEffectivePerms(); |
178 | } | 178 | } |
179 | 179 | ||
180 | hostgroup.RootPart.ObjectSaleType = 0; | 180 | hostgroup.RootPart.ObjectSaleType = 0; |
diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index 6cf0092..fe8d962 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs | |||
@@ -665,7 +665,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
665 | taskItem.AssetID = asset.FullID; | 665 | taskItem.AssetID = asset.FullID; |
666 | 666 | ||
667 | host.Inventory.AddInventoryItem(taskItem, false); | 667 | host.Inventory.AddInventoryItem(taskItem, false); |
668 | host.ParentGroup.AggregatePerms(); | 668 | host.ParentGroup.InvalidateEffectivePerms(); |
669 | m_comms.DispatchReply(scriptID,1,assetID.ToString(),reqID.ToString()); | 669 | m_comms.DispatchReply(scriptID,1,assetID.ToString(),reqID.ToString()); |
670 | } | 670 | } |
671 | 671 | ||
diff --git a/OpenSim/Region/OptionalModules/World/TreePopulator/TreePopulatorModule.cs b/OpenSim/Region/OptionalModules/World/TreePopulator/TreePopulatorModule.cs index b26fa32..da8c9a3 100644 --- a/OpenSim/Region/OptionalModules/World/TreePopulator/TreePopulatorModule.cs +++ b/OpenSim/Region/OptionalModules/World/TreePopulator/TreePopulatorModule.cs | |||
@@ -525,7 +525,7 @@ namespace OpenSim.Region.OptionalModules.World.TreePopulator | |||
525 | 525 | ||
526 | sceneObject.SetGroup(groupID, null); | 526 | sceneObject.SetGroup(groupID, null); |
527 | m_scene.AddNewSceneObject(sceneObject, true); | 527 | m_scene.AddNewSceneObject(sceneObject, true); |
528 | sceneObject.AggregatePerms(); | 528 | sceneObject.InvalidateEffectivePerms(); |
529 | return sceneObject; | 529 | return sceneObject; |
530 | } | 530 | } |
531 | 531 | ||
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index e12cedf..e51a078 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -2048,7 +2048,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2048 | m_host.Inventory.AddInventoryItemExclusive(taskItem, false); | 2048 | m_host.Inventory.AddInventoryItemExclusive(taskItem, false); |
2049 | else | 2049 | else |
2050 | m_host.Inventory.AddInventoryItem(taskItem, false); | 2050 | m_host.Inventory.AddInventoryItem(taskItem, false); |
2051 | m_host.ParentGroup.AggregatePerms(); | 2051 | m_host.ParentGroup.InvalidateDeepEffectivePerms(); |
2052 | 2052 | ||
2053 | return taskItem; | 2053 | return taskItem; |
2054 | } | 2054 | } |