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 dcb62f8..f8624e7 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs | |||
@@ -82,10 +82,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
82 | /// <summary> | 82 | /// <summary> |
83 | /// Stop and remove the scripts contained in all the prims in this group | 83 | /// Stop and remove the scripts contained in all the prims in this group |
84 | /// </summary> | 84 | /// </summary> |
85 | /// <param name="sceneObjectBeingDeleted"> | ||
86 | /// Should be true if these scripts are being removed because the scene | ||
87 | /// object is being deleted. This will prevent spurious updates to the client. | ||
88 | /// </param> | ||
89 | public void RemoveScriptInstances(bool sceneObjectBeingDeleted) | 85 | public void RemoveScriptInstances(bool sceneObjectBeingDeleted) |
90 | { | 86 | { |
91 | SceneObjectPart[] parts = m_parts.GetArray(); | 87 | SceneObjectPart[] parts = m_parts.GetArray(); |
@@ -248,6 +244,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
248 | 244 | ||
249 | public uint GetEffectivePermissions() | 245 | public uint GetEffectivePermissions() |
250 | { | 246 | { |
247 | return GetEffectivePermissions(false); | ||
248 | } | ||
249 | |||
250 | public uint GetEffectivePermissions(bool useBase) | ||
251 | { | ||
251 | uint perms=(uint)(PermissionMask.Modify | | 252 | uint perms=(uint)(PermissionMask.Modify | |
252 | PermissionMask.Copy | | 253 | PermissionMask.Copy | |
253 | PermissionMask.Move | | 254 | PermissionMask.Move | |
@@ -259,7 +260,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
259 | for (int i = 0; i < parts.Length; i++) | 260 | for (int i = 0; i < parts.Length; i++) |
260 | { | 261 | { |
261 | SceneObjectPart part = parts[i]; | 262 | SceneObjectPart part = parts[i]; |
262 | ownerMask &= part.OwnerMask; | 263 | if (useBase) |
264 | ownerMask &= part.BaseMask; | ||
265 | else | ||
266 | ownerMask &= part.OwnerMask; | ||
263 | perms &= part.Inventory.MaskEffectivePermissions(); | 267 | perms &= part.Inventory.MaskEffectivePermissions(); |
264 | } | 268 | } |
265 | 269 | ||
@@ -401,6 +405,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
401 | 405 | ||
402 | public void ResumeScripts() | 406 | public void ResumeScripts() |
403 | { | 407 | { |
408 | if (m_scene.RegionInfo.RegionSettings.DisableScripts) | ||
409 | return; | ||
410 | |||
404 | SceneObjectPart[] parts = m_parts.GetArray(); | 411 | SceneObjectPart[] parts = m_parts.GetArray(); |
405 | for (int i = 0; i < parts.Length; i++) | 412 | for (int i = 0; i < parts.Length; i++) |
406 | parts[i].Inventory.ResumeScripts(); | 413 | parts[i].Inventory.ResumeScripts(); |