diff options
author | Melanie | 2010-01-26 14:44:07 +0000 |
---|---|---|
committer | Melanie | 2010-01-26 14:44:07 +0000 |
commit | 19484891bbe7a8ed9860d386af8d76ac0e0b8974 (patch) | |
tree | e19c1dde846569ee136a1aa1677d143af925e5e2 /OpenSim/Region/Framework/Scenes/Scene.cs | |
parent | Fixes Region Crossings on a prim. (diff) | |
parent | Fix a problem where llDie() calls were sometimes leaving dead objects behind. (diff) | |
download | opensim-SC-19484891bbe7a8ed9860d386af8d76ac0e0b8974.zip opensim-SC-19484891bbe7a8ed9860d386af8d76ac0e0b8974.tar.gz opensim-SC-19484891bbe7a8ed9860d386af8d76ac0e0b8974.tar.bz2 opensim-SC-19484891bbe7a8ed9860d386af8d76ac0e0b8974.tar.xz |
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 234554e..4da05cf 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -1009,7 +1009,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1009 | { | 1009 | { |
1010 | if (ent is SceneObjectGroup) | 1010 | if (ent is SceneObjectGroup) |
1011 | { | 1011 | { |
1012 | ((SceneObjectGroup) ent).RemoveScriptInstances(); | 1012 | ((SceneObjectGroup) ent).RemoveScriptInstances(false); |
1013 | } | 1013 | } |
1014 | } | 1014 | } |
1015 | } | 1015 | } |
@@ -1884,13 +1884,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
1884 | /// <param name="silent">Suppress broadcasting changes to other clients.</param> | 1884 | /// <param name="silent">Suppress broadcasting changes to other clients.</param> |
1885 | public void DeleteSceneObject(SceneObjectGroup group, bool silent) | 1885 | public void DeleteSceneObject(SceneObjectGroup group, bool silent) |
1886 | { | 1886 | { |
1887 | // m_log.DebugFormat("[SCENE]: Deleting scene object {0} {1}", group.Name, group.UUID); | ||
1888 | |||
1887 | //SceneObjectPart rootPart = group.GetChildPart(group.UUID); | 1889 | //SceneObjectPart rootPart = group.GetChildPart(group.UUID); |
1888 | 1890 | ||
1889 | // Serialise calls to RemoveScriptInstances to avoid | 1891 | // Serialise calls to RemoveScriptInstances to avoid |
1890 | // deadlocking on m_parts inside SceneObjectGroup | 1892 | // deadlocking on m_parts inside SceneObjectGroup |
1891 | lock (m_deleting_scene_object) | 1893 | lock (m_deleting_scene_object) |
1892 | { | 1894 | { |
1893 | group.RemoveScriptInstances(); | 1895 | group.RemoveScriptInstances(true); |
1894 | } | 1896 | } |
1895 | 1897 | ||
1896 | foreach (SceneObjectPart part in group.Children.Values) | 1898 | foreach (SceneObjectPart part in group.Children.Values) |
@@ -1918,6 +1920,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
1918 | } | 1920 | } |
1919 | 1921 | ||
1920 | group.DeleteGroup(silent); | 1922 | group.DeleteGroup(silent); |
1923 | |||
1924 | // m_log.DebugFormat("[SCENE]: Exit DeleteSceneObject() for {0} {1}", group.Name, group.UUID); | ||
1921 | } | 1925 | } |
1922 | 1926 | ||
1923 | /// <summary> | 1927 | /// <summary> |