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/Region/Framework | |
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/Region/Framework')
5 files changed, 14 insertions, 16 deletions
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); |