diff options
author | UbitUmarov | 2017-05-04 12:08:10 +0100 |
---|---|---|
committer | UbitUmarov | 2017-05-04 12:08:10 +0100 |
commit | 34028198882be021c49725c342e8d2d494dc7286 (patch) | |
tree | def2c1dbf006e8a37b1d3c17930338909d13860f /OpenSim | |
parent | move deep effective permissions aggregation to first time use and not on cha... (diff) | |
download | opensim-SC_OLD-34028198882be021c49725c342e8d2d494dc7286.zip opensim-SC_OLD-34028198882be021c49725c342e8d2d494dc7286.tar.gz opensim-SC_OLD-34028198882be021c49725c342e8d2d494dc7286.tar.bz2 opensim-SC_OLD-34028198882be021c49725c342e8d2d494dc7286.tar.xz |
do the same in the cases we are just moving parts around and not changing their caches (ie their taskInventory)
Diffstat (limited to 'OpenSim')
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 | } |