aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs17
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 2866b54..1038111 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
@@ -81,10 +81,6 @@ namespace OpenSim.Region.Framework.Scenes
81 /// <summary> 81 /// <summary>
82 /// Stop the scripts contained in all the prims in this group 82 /// Stop the scripts contained in all the prims in this group
83 /// </summary> 83 /// </summary>
84 /// <param name="sceneObjectBeingDeleted">
85 /// Should be true if these scripts are being removed because the scene
86 /// object is being deleted. This will prevent spurious updates to the client.
87 /// </param>
88 public void RemoveScriptInstances(bool sceneObjectBeingDeleted) 84 public void RemoveScriptInstances(bool sceneObjectBeingDeleted)
89 { 85 {
90 SceneObjectPart[] parts = m_parts.GetArray(); 86 SceneObjectPart[] parts = m_parts.GetArray();
@@ -239,6 +235,11 @@ namespace OpenSim.Region.Framework.Scenes
239 235
240 public uint GetEffectivePermissions() 236 public uint GetEffectivePermissions()
241 { 237 {
238 return GetEffectivePermissions(false);
239 }
240
241 public uint GetEffectivePermissions(bool useBase)
242 {
242 uint perms=(uint)(PermissionMask.Modify | 243 uint perms=(uint)(PermissionMask.Modify |
243 PermissionMask.Copy | 244 PermissionMask.Copy |
244 PermissionMask.Move | 245 PermissionMask.Move |
@@ -250,7 +251,10 @@ namespace OpenSim.Region.Framework.Scenes
250 for (int i = 0; i < parts.Length; i++) 251 for (int i = 0; i < parts.Length; i++)
251 { 252 {
252 SceneObjectPart part = parts[i]; 253 SceneObjectPart part = parts[i];
253 ownerMask &= part.OwnerMask; 254 if (useBase)
255 ownerMask &= part.BaseMask;
256 else
257 ownerMask &= part.OwnerMask;
254 perms &= part.Inventory.MaskEffectivePermissions(); 258 perms &= part.Inventory.MaskEffectivePermissions();
255 } 259 }
256 260
@@ -392,6 +396,9 @@ namespace OpenSim.Region.Framework.Scenes
392 396
393 public void ResumeScripts() 397 public void ResumeScripts()
394 { 398 {
399 if (m_scene.RegionInfo.RegionSettings.DisableScripts)
400 return;
401
395 SceneObjectPart[] parts = m_parts.GetArray(); 402 SceneObjectPart[] parts = m_parts.GetArray();
396 for (int i = 0; i < parts.Length; i++) 403 for (int i = 0; i < parts.Length; i++)
397 parts[i].Inventory.ResumeScripts(); 404 parts[i].Inventory.ResumeScripts();