diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs index 905ecc9..c7da4f4 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs | |||
@@ -69,10 +69,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
69 | /// <summary> | 69 | /// <summary> |
70 | /// Stop the scripts contained in all the prims in this group | 70 | /// Stop the scripts contained in all the prims in this group |
71 | /// </summary> | 71 | /// </summary> |
72 | /// <param name="sceneObjectBeingDeleted"> | ||
73 | /// Should be true if these scripts are being removed because the scene | ||
74 | /// object is being deleted. This will prevent spurious updates to the client. | ||
75 | /// </param> | ||
76 | public void RemoveScriptInstances(bool sceneObjectBeingDeleted) | 72 | public void RemoveScriptInstances(bool sceneObjectBeingDeleted) |
77 | { | 73 | { |
78 | SceneObjectPart[] parts = m_parts.GetArray(); | 74 | SceneObjectPart[] parts = m_parts.GetArray(); |
@@ -234,6 +230,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
234 | 230 | ||
235 | public uint GetEffectivePermissions() | 231 | public uint GetEffectivePermissions() |
236 | { | 232 | { |
233 | return GetEffectivePermissions(false); | ||
234 | } | ||
235 | |||
236 | public uint GetEffectivePermissions(bool useBase) | ||
237 | { | ||
237 | uint perms=(uint)(PermissionMask.Modify | | 238 | uint perms=(uint)(PermissionMask.Modify | |
238 | PermissionMask.Copy | | 239 | PermissionMask.Copy | |
239 | PermissionMask.Move | | 240 | PermissionMask.Move | |
@@ -245,7 +246,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
245 | for (int i = 0; i < parts.Length; i++) | 246 | for (int i = 0; i < parts.Length; i++) |
246 | { | 247 | { |
247 | SceneObjectPart part = parts[i]; | 248 | SceneObjectPart part = parts[i]; |
248 | ownerMask &= part.OwnerMask; | 249 | if (useBase) |
250 | ownerMask &= part.BaseMask; | ||
251 | else | ||
252 | ownerMask &= part.OwnerMask; | ||
249 | perms &= part.Inventory.MaskEffectivePermissions(); | 253 | perms &= part.Inventory.MaskEffectivePermissions(); |
250 | } | 254 | } |
251 | 255 | ||
@@ -385,6 +389,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
385 | 389 | ||
386 | public void ResumeScripts() | 390 | public void ResumeScripts() |
387 | { | 391 | { |
392 | if (m_scene.RegionInfo.RegionSettings.DisableScripts) | ||
393 | return; | ||
394 | |||
388 | SceneObjectPart[] parts = m_parts.GetArray(); | 395 | SceneObjectPart[] parts = m_parts.GetArray(); |
389 | for (int i = 0; i < parts.Length; i++) | 396 | for (int i = 0; i < parts.Length; i++) |
390 | parts[i].Inventory.ResumeScripts(); | 397 | parts[i].Inventory.ResumeScripts(); |