diff options
author | Diva Canto | 2010-06-29 14:25:13 -0700 |
---|---|---|
committer | Diva Canto | 2010-06-29 14:25:13 -0700 |
commit | bfff39c4c02ac05c2fb27f46658cffb10394223d (patch) | |
tree | a47ee095c9b4e1d26ebec2ffc30dbe2ab50fbcc9 /OpenSim | |
parent | stop exceptions in setting and getting state from propogating since they aren... (diff) | |
parent | Remove the override from DeletToInventory in HGInventoryAccessModule. This ma... (diff) | |
download | opensim-SC-bfff39c4c02ac05c2fb27f46658cffb10394223d.zip opensim-SC-bfff39c4c02ac05c2fb27f46658cffb10394223d.tar.gz opensim-SC-bfff39c4c02ac05c2fb27f46658cffb10394223d.tar.bz2 opensim-SC-bfff39c4c02ac05c2fb27f46658cffb10394223d.tar.xz |
Merge branch 'master' into 0.7-post-fixes
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 22 |
2 files changed, 19 insertions, 6 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs index 58c396c..b0555da 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs | |||
@@ -131,7 +131,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
131 | return ret; | 131 | return ret; |
132 | } | 132 | } |
133 | 133 | ||
134 | public override UUID DeleteToInventory(DeRezAction action, UUID folderID, | 134 | // DO NOT OVERRIDE THIS METHOD |
135 | public virtual UUID DeleteToInventory(DeRezAction action, UUID folderID, | ||
135 | SceneObjectGroup objectGroup, IClientAPI remoteClient) | 136 | SceneObjectGroup objectGroup, IClientAPI remoteClient) |
136 | { | 137 | { |
137 | UUID assetID = base.DeleteToInventory(action, folderID, new List<SceneObjectGroup>() {objectGroup}, remoteClient); | 138 | UUID assetID = base.DeleteToInventory(action, folderID, new List<SceneObjectGroup>() {objectGroup}, remoteClient); |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 9278164..f9da341 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -1574,13 +1574,25 @@ namespace OpenSim.Region.Framework.Scenes | |||
1574 | // for when deleting the object from it | 1574 | // for when deleting the object from it |
1575 | ForceSceneObjectBackup(grp); | 1575 | ForceSceneObjectBackup(grp); |
1576 | 1576 | ||
1577 | if (!Permissions.CanTakeCopyObject(grp.UUID, remoteClient.AgentId)) | 1577 | if (remoteClient == null) |
1578 | { | ||
1579 | // Autoreturn has a null client. Nothing else does. So | ||
1580 | // allow only returns | ||
1581 | if (action != DeRezAction.Return) | ||
1582 | return; | ||
1583 | |||
1578 | permissionToTakeCopy = false; | 1584 | permissionToTakeCopy = false; |
1579 | if (!Permissions.CanTakeObject(grp.UUID, remoteClient.AgentId)) | 1585 | } |
1580 | permissionToTake = false; | 1586 | else |
1587 | { | ||
1588 | if (!Permissions.CanTakeCopyObject(grp.UUID, remoteClient.AgentId)) | ||
1589 | permissionToTakeCopy = false; | ||
1590 | if (!Permissions.CanTakeObject(grp.UUID, remoteClient.AgentId)) | ||
1591 | permissionToTake = false; | ||
1581 | 1592 | ||
1582 | if (!Permissions.CanDeleteObject(grp.UUID, remoteClient.AgentId)) | 1593 | if (!Permissions.CanDeleteObject(grp.UUID, remoteClient.AgentId)) |
1583 | permissionToDelete = false; | 1594 | permissionToDelete = false; |
1595 | } | ||
1584 | 1596 | ||
1585 | } | 1597 | } |
1586 | 1598 | ||