aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-11-21 18:17:01 +0000
committerJustin Clarke Casey2008-11-21 18:17:01 +0000
commite261c974704098e5d1238ef800ef49d3ec7e75b8 (patch)
tree8caa0b40509a2dc70fca1061537573ac148cbcc6 /OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs
parent* minor: Remove comparison of UUID struct against null picked up as a warning (diff)
downloadopensim-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.cs7
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)