diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 5cc5606..b14e2f7 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -2182,13 +2182,16 @@ namespace OpenSim.Region.Framework.Scenes | |||
2182 | } | 2182 | } |
2183 | } | 2183 | } |
2184 | 2184 | ||
2185 | // OK, we're done with permissions. Let's check if any part of the code prevents the objects from being deleted | ||
2186 | bool canDelete = EventManager.TriggerDeRezRequested(remoteClient, deleteGroups, action); | ||
2187 | |||
2185 | if (permissionToTake && (action != DeRezAction.Delete || this.m_useTrashOnDelete)) | 2188 | if (permissionToTake && (action != DeRezAction.Delete || this.m_useTrashOnDelete)) |
2186 | { | 2189 | { |
2187 | m_asyncSceneObjectDeleter.DeleteToInventory( | 2190 | m_asyncSceneObjectDeleter.DeleteToInventory( |
2188 | action, destinationID, deleteGroups, remoteClient, | 2191 | action, destinationID, deleteGroups, remoteClient, |
2189 | permissionToDelete); | 2192 | permissionToDelete && canDelete); |
2190 | } | 2193 | } |
2191 | else if (permissionToDelete) | 2194 | else if (permissionToDelete && canDelete) |
2192 | { | 2195 | { |
2193 | foreach (SceneObjectGroup g in deleteGroups) | 2196 | foreach (SceneObjectGroup g in deleteGroups) |
2194 | DeleteSceneObject(g, false); | 2197 | DeleteSceneObject(g, false); |