aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs5
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs7
2 files changed, 11 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
index e837e9a..f66f01f 100644
--- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
+++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
@@ -596,7 +596,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
596 return objectOwnerMask; 596 return objectOwnerMask;
597 597
598 // Estate users should be able to edit anything in the sim 598 // Estate users should be able to edit anything in the sim
599 if (IsEstateManager(user) && m_RegionOwnerIsGod && !IsAdministrator(objectOwner)) 599 if (IsEstateManager(user) && m_RegionOwnerIsGod && (!IsAdministrator(objectOwner)) || objectOwner == user)
600 return objectOwnerMask; 600 return objectOwnerMask;
601 601
602 // Admin should be able to edit anything in the sim (including admin objects) 602 // Admin should be able to edit anything in the sim (including admin objects)
@@ -888,6 +888,9 @@ namespace OpenSim.Region.CoreModules.World.Permissions
888 DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); 888 DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name);
889 if (m_bypassPermissions) return m_bypassPermissionsValue; 889 if (m_bypassPermissions) return m_bypassPermissionsValue;
890 890
891 if (IsEstateManager(user) && m_RegionOwnerIsGod)
892 return true;
893
891 return IsAdministrator(user); 894 return IsAdministrator(user);
892 } 895 }
893 896
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index bce7d32..18ec25f 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -2056,6 +2056,13 @@ namespace OpenSim.Region.Framework.Scenes
2056 group.Children.Count, remoteClient.AgentId, pos) 2056 group.Children.Count, remoteClient.AgentId, pos)
2057 && !attachment) 2057 && !attachment)
2058 { 2058 {
2059 // The client operates in no fail mode. It will
2060 // have already removed the item from the folder
2061 // if it's no copy.
2062 // Put it back if it's not an attachment
2063 //
2064 if (((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0) && (!attachment))
2065 remoteClient.SendBulkUpdateInventory(item);
2059 return null; 2066 return null;
2060 } 2067 }
2061 2068