aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/Scene.cs
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-03-12 18:59:50 +0000
committerJustin Clarke Casey2008-03-12 18:59:50 +0000
commitbbb9a21eb5f5705215fe76b697bdcf1469dd3067 (patch)
treefbe9128f71b2cbc4c41b28313ac28ae861619906 /OpenSim/Region/Environment/Scenes/Scene.cs
parent* Don't abort (and keep failing) the update if one Entity gives us an excepti... (diff)
downloadopensim-SC_OLD-bbb9a21eb5f5705215fe76b697bdcf1469dd3067.zip
opensim-SC_OLD-bbb9a21eb5f5705215fe76b697bdcf1469dd3067.tar.gz
opensim-SC_OLD-bbb9a21eb5f5705215fe76b697bdcf1469dd3067.tar.bz2
opensim-SC_OLD-bbb9a21eb5f5705215fe76b697bdcf1469dd3067.tar.xz
* 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.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs24
1 files changed, 24 insertions, 0 deletions
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
2566 } 2566 }
2567 } 2567 }
2568 } 2568 }
2569
2570 /// <summary>
2571 /// Delete this object from the scene.
2572 /// </summary>
2573 /// <param name="group"></param>
2574 public void DeleteSceneObjectGroup(SceneObjectGroup group)
2575 {
2576 SceneObjectPart rootPart = (group).GetChildPart(group.UUID);
2577 if (rootPart.PhysActor != null)
2578 {
2579 PhysicsScene.RemovePrim(rootPart.PhysActor);
2580 rootPart.PhysActor = null;
2581 }
2582
2583 m_storageManager.DataStore.RemoveObject(group.UUID, m_regInfo.RegionID);
2584 group.DeleteGroup();
2585
2586 lock (Entities)
2587 {
2588 Entities.Remove(group.UUID);
2589 m_innerScene.RemoveAPrimCount();
2590 }
2591 group.DeleteParts();
2592 }
2569 2593
2570 /// <summary> 2594 /// <summary>
2571 /// 2595 ///