aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMelanie Thielker2008-11-19 01:37:39 +0000
committerMelanie Thielker2008-11-19 01:37:39 +0000
commita104cc2c629add78e1f73e71f5aa1f65e3f2857c (patch)
treef2c096089cfe0b09781db551bd088a2f1d208c8d /OpenSim/Region
parentAdding the OSD dll (diff)
downloadopensim-SC-a104cc2c629add78e1f73e71f5aa1f65e3f2857c.zip
opensim-SC-a104cc2c629add78e1f73e71f5aa1f65e3f2857c.tar.gz
opensim-SC-a104cc2c629add78e1f73e71f5aa1f65e3f2857c.tar.bz2
opensim-SC-a104cc2c629add78e1f73e71f5aa1f65e3f2857c.tar.xz
Fix deleting object that have been persisted already from the DB
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs4
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs3
2 files changed, 6 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs b/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs
index 58e0ca3..a9fa879 100644
--- a/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs
+++ b/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs
@@ -42,6 +42,7 @@ namespace OpenSim.Region.Environment.Scenes
42 public IClientAPI remoteClient; 42 public IClientAPI remoteClient;
43 public SceneObjectGroup objectGroup; 43 public SceneObjectGroup objectGroup;
44 public UUID folderID; 44 public UUID folderID;
45 public bool permissionToDelete;
45 } 46 }
46 47
47 /// <summary> 48 /// <summary>
@@ -87,6 +88,7 @@ namespace OpenSim.Region.Environment.Scenes
87 dtis.folderID = folderID; 88 dtis.folderID = folderID;
88 dtis.objectGroup = objectGroup; 89 dtis.objectGroup = objectGroup;
89 dtis.remoteClient = remoteClient; 90 dtis.remoteClient = remoteClient;
91 dtis.permissionToDelete = permissionToDelete;
90 92
91 m_inventoryDeletes.Enqueue(dtis); 93 m_inventoryDeletes.Enqueue(dtis);
92 } 94 }
@@ -127,6 +129,8 @@ namespace OpenSim.Region.Environment.Scenes
127 129
128 try 130 try
129 { 131 {
132 if (x.permissionToDelete)
133 m_scene.DeleteFromStorage(x.objectGroup.UUID);
130 m_scene.DeleteToInventory(x.destination, x.folderID, x.objectGroup, x.remoteClient); 134 m_scene.DeleteToInventory(x.destination, x.folderID, x.objectGroup, x.remoteClient);
131 } 135 }
132 catch (Exception e) 136 catch (Exception e)
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
index 5bfa1eb..324e38c 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
@@ -1638,8 +1638,9 @@ namespace OpenSim.Region.Environment.Scenes
1638 /// <param name="remoteClient"> </param> 1638 /// <param name="remoteClient"> </param>
1639 /// <param name="objectGroup"></param> 1639 /// <param name="objectGroup"></param>
1640 /// <param name="folderID"></param> 1640 /// <param name="folderID"></param>
1641 /// <param name="permissionToDelete"></param>
1641 public virtual UUID DeleteToInventory(int destination, UUID folderID, 1642 public virtual UUID DeleteToInventory(int destination, UUID folderID,
1642 SceneObjectGroup objectGroup, IClientAPI remoteClient) 1643 SceneObjectGroup objectGroup, IClientAPI remoteClient)
1643 { 1644 {
1644 UUID assetID = UUID.Zero; 1645 UUID assetID = UUID.Zero;
1645 1646