diff options
author | Justin Clarke Casey | 2008-11-21 18:17:01 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-11-21 18:17:01 +0000 |
commit | e261c974704098e5d1238ef800ef49d3ec7e75b8 (patch) | |
tree | 8caa0b40509a2dc70fca1061537573ac148cbcc6 /OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs | |
parent | * minor: Remove comparison of UUID struct against null picked up as a warning (diff) | |
download | opensim-SC_OLD-e261c974704098e5d1238ef800ef49d3ec7e75b8.zip opensim-SC_OLD-e261c974704098e5d1238ef800ef49d3ec7e75b8.tar.gz opensim-SC_OLD-e261c974704098e5d1238ef800ef49d3ec7e75b8.tar.bz2 opensim-SC_OLD-e261c974704098e5d1238ef800ef49d3ec7e75b8.tar.xz |
* On delete to inventory, actually remove the group from the scene before the async stage.
* Last time I accidentally left the existing code in place that merely wiped the group from the client (but not the scene)
* Put in an incomplete 'delete object o inventory' test to assert that this happens
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs b/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs index d92ff89..44c5a13 100644 --- a/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs +++ b/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs | |||
@@ -42,7 +42,6 @@ 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; | ||
46 | } | 45 | } |
47 | 46 | ||
48 | /// <summary> | 47 | /// <summary> |
@@ -88,7 +87,6 @@ namespace OpenSim.Region.Environment.Scenes | |||
88 | dtis.folderID = folderID; | 87 | dtis.folderID = folderID; |
89 | dtis.objectGroup = objectGroup; | 88 | dtis.objectGroup = objectGroup; |
90 | dtis.remoteClient = remoteClient; | 89 | dtis.remoteClient = remoteClient; |
91 | dtis.permissionToDelete = permissionToDelete; | ||
92 | 90 | ||
93 | m_inventoryDeletes.Enqueue(dtis); | 91 | m_inventoryDeletes.Enqueue(dtis); |
94 | } | 92 | } |
@@ -96,9 +94,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
96 | if (Enabled) | 94 | if (Enabled) |
97 | m_inventoryTicker.Start(); | 95 | m_inventoryTicker.Start(); |
98 | 96 | ||
99 | // Visually remove it, even if it isnt really gone yet. | ||
100 | if (permissionToDelete) | 97 | if (permissionToDelete) |
101 | objectGroup.DeleteGroup(false); | 98 | m_scene.DeleteSceneObject(objectGroup, false); |
102 | } | 99 | } |
103 | 100 | ||
104 | private void InventoryRunDeleteTimer(object sender, ElapsedEventArgs e) | 101 | private void InventoryRunDeleteTimer(object sender, ElapsedEventArgs e) |
@@ -129,8 +126,6 @@ namespace OpenSim.Region.Environment.Scenes | |||
129 | 126 | ||
130 | try | 127 | try |
131 | { | 128 | { |
132 | if (x.permissionToDelete) | ||
133 | m_scene.DeleteSceneObject(x.objectGroup, false); | ||
134 | m_scene.DeleteToInventory(x.destination, x.folderID, x.objectGroup, x.remoteClient); | 129 | m_scene.DeleteToInventory(x.destination, x.folderID, x.objectGroup, x.remoteClient); |
135 | } | 130 | } |
136 | catch (Exception e) | 131 | catch (Exception e) |