From f77ab461846410297489c07b7c5029b099e119f3 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Tue, 18 Mar 2008 20:11:35 +0000 Subject: * Stop (which currently removes) all scripts in an object when that object is deleted from the region --- OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 11 +++++++++++ .../Region/Environment/Scenes/SceneObjectPart.Inventory.cs | 3 +++ 2 files changed, 14 insertions(+) diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 1a672e8..8b30b58 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs @@ -1818,8 +1818,19 @@ namespace OpenSim.Region.Environment.Scenes } } + /// + /// Delete all the parts in this group. + /// public void DeleteParts() { + lock (m_parts) + { + foreach (SceneObjectPart part in m_parts.Values) + { + part.StopScripts(); + } + } + m_rootPart = null; m_parts.Clear(); } diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs index deeb0ad..f7e82a5 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs @@ -126,6 +126,9 @@ namespace OpenSim.Region.Environment.Scenes } } + /// + /// Stop all the scripts in this prim. + /// public void StopScripts() { lock (m_taskInventory) -- cgit v1.1