From bbb9a21eb5f5705215fe76b697bdcf1469dd3067 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Wed, 12 Mar 2008 18:59:50 +0000 Subject: * Fix mantis 757. * DelinkFromGroup was removing the parts from the delinked group, which later upset the update thread when it tried to do a queued update for that object * Temporary fix is to stop deleting the parts, though it would be good later to stop sending out the now spurious updates * This fix actually reveals another bug, where rapid linking and delinking will cause the non root prims to disappear (though they're actually still there if you relog). This is the next bug to tackle. --- OpenSim/Region/Environment/Scenes/Scene.cs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'OpenSim/Region/Environment/Scenes/Scene.cs') diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 1c6efd2..1a73e78 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -2566,6 +2566,30 @@ namespace OpenSim.Region.Environment.Scenes } } } + + /// + /// Delete this object from the scene. + /// + /// + public void DeleteSceneObjectGroup(SceneObjectGroup group) + { + SceneObjectPart rootPart = (group).GetChildPart(group.UUID); + if (rootPart.PhysActor != null) + { + PhysicsScene.RemovePrim(rootPart.PhysActor); + rootPart.PhysActor = null; + } + + m_storageManager.DataStore.RemoveObject(group.UUID, m_regInfo.RegionID); + group.DeleteGroup(); + + lock (Entities) + { + Entities.Remove(group.UUID); + m_innerScene.RemoveAPrimCount(); + } + group.DeleteParts(); + } /// /// -- cgit v1.1