aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs6
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs9
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs8
3 files changed, 23 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
index ecc6180..204ba39 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
@@ -1516,6 +1516,12 @@ namespace OpenSim.Region.Environment.Scenes
1516 permissionToDelete = false; //Just taking copy! 1516 permissionToDelete = false; //Just taking copy!
1517 1517
1518 } 1518 }
1519 else if (DeRezPacket.AgentBlock.Destination == 5) //God take copy
1520 {
1521 permissionToTake = ExternalChecks.ExternalChecksCanBeGodLike(remoteClient.AgentId);
1522 permissionToDelete = false; //Just taking copy!
1523
1524 }
1519 else if (DeRezPacket.AgentBlock.Destination == 4) //Take 1525 else if (DeRezPacket.AgentBlock.Destination == 4) //Take
1520 { 1526 {
1521 // Take 1527 // Take
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs
index 5b57e73..34e5305 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs
@@ -733,6 +733,15 @@ namespace OpenSim.Region.Environment.Scenes
733 TriggerScriptChangedEvent(Changed.OWNER); 733 TriggerScriptChangedEvent(Changed.OWNER);
734 } 734 }
735 735
736 public void ApplyGodPermissions(uint perms)
737 {
738 foreach (TaskInventoryItem item in m_taskInventory.Values)
739 {
740 item.CurrentPermissions = perms;
741 item.BasePermissions = perms;
742 }
743 }
744
736 public bool ContainsScripts() 745 public bool ContainsScripts()
737 { 746 {
738 foreach (TaskInventoryItem item in m_taskInventory.Values) 747 foreach (TaskInventoryItem item in m_taskInventory.Values)
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
index 91249f9..f4ada1a 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
@@ -3037,6 +3037,14 @@ namespace OpenSim.Region.Environment.Scenes
3037 { 3037 {
3038 switch (field) 3038 switch (field)
3039 { 3039 {
3040 case 1:
3041 if (god)
3042 {
3043 _baseMask = ApplyMask(_baseMask, set, mask);
3044 ApplyGodPermissions(_baseMask);
3045 }
3046
3047 break;
3040 case 2: 3048 case 2:
3041 _ownerMask = ApplyMask(_ownerMask, set, mask) & 3049 _ownerMask = ApplyMask(_ownerMask, set, mask) &
3042 baseMask; 3050 baseMask;