aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
diff options
context:
space:
mode:
authorDiva Canto2014-12-25 12:17:07 -0800
committerDiva Canto2014-12-25 12:17:07 -0800
commitbb82076a4d2afd914d325f17443bb409d75bfe0e (patch)
tree88d90748a922ece49f17838ccf7c10a06f4cf2b1 /OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
parentUpdated libomv to grab the latest bug fixes in Collada upload (diff)
downloadopensim-SC_OLD-bb82076a4d2afd914d325f17443bb409d75bfe0e.zip
opensim-SC_OLD-bb82076a4d2afd914d325f17443bb409d75bfe0e.tar.gz
opensim-SC_OLD-bb82076a4d2afd914d325f17443bb409d75bfe0e.tar.bz2
opensim-SC_OLD-bb82076a4d2afd914d325f17443bb409d75bfe0e.tar.xz
Allow for richer semantics of object derez. Specifically, allow the existence of region modules that do other kinds of garbage collection. Instead of placing deleted objects in the user's Trash folder, or deleting them immediately (UseTrashOnDelete = false), a module may decide to take garbage collection under its control. For example, it may place derezzed objects in a certain area inworld and delete them later.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.Inventory.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs7
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);