aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs9
1 files changed, 7 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index f800d5f..f109589 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -1102,7 +1102,7 @@ namespace OpenSim.Region.Framework.Scenes
1102 { 1102 {
1103 if (ent is SceneObjectGroup) 1103 if (ent is SceneObjectGroup)
1104 { 1104 {
1105 ((SceneObjectGroup) ent).RemoveScriptInstances(); 1105 ((SceneObjectGroup) ent).RemoveScriptInstances(false);
1106 } 1106 }
1107 } 1107 }
1108 } 1108 }
@@ -1977,13 +1977,15 @@ namespace OpenSim.Region.Framework.Scenes
1977 /// <param name="silent">Suppress broadcasting changes to other clients.</param> 1977 /// <param name="silent">Suppress broadcasting changes to other clients.</param>
1978 public void DeleteSceneObject(SceneObjectGroup group, bool silent) 1978 public void DeleteSceneObject(SceneObjectGroup group, bool silent)
1979 { 1979 {
1980// m_log.DebugFormat("[SCENE]: Deleting scene object {0} {1}", group.Name, group.UUID);
1981
1980 //SceneObjectPart rootPart = group.GetChildPart(group.UUID); 1982 //SceneObjectPart rootPart = group.GetChildPart(group.UUID);
1981 1983
1982 // Serialise calls to RemoveScriptInstances to avoid 1984 // Serialise calls to RemoveScriptInstances to avoid
1983 // deadlocking on m_parts inside SceneObjectGroup 1985 // deadlocking on m_parts inside SceneObjectGroup
1984 lock (m_deleting_scene_object) 1986 lock (m_deleting_scene_object)
1985 { 1987 {
1986 group.RemoveScriptInstances(); 1988 group.RemoveScriptInstances(true);
1987 } 1989 }
1988 1990
1989 foreach (SceneObjectPart part in group.Children.Values) 1991 foreach (SceneObjectPart part in group.Children.Values)
@@ -2011,6 +2013,8 @@ namespace OpenSim.Region.Framework.Scenes
2011 } 2013 }
2012 2014
2013 group.DeleteGroup(silent); 2015 group.DeleteGroup(silent);
2016
2017// m_log.DebugFormat("[SCENE]: Exit DeleteSceneObject() for {0} {1}", group.Name, group.UUID);
2014 } 2018 }
2015 2019
2016 /// <summary> 2020 /// <summary>
@@ -2539,6 +2543,7 @@ namespace OpenSim.Region.Framework.Scenes
2539 client.OnRequestObjectPropertiesFamily += m_sceneGraph.RequestObjectPropertiesFamily; 2543 client.OnRequestObjectPropertiesFamily += m_sceneGraph.RequestObjectPropertiesFamily;
2540 client.OnObjectPermissions += HandleObjectPermissionsUpdate; 2544 client.OnObjectPermissions += HandleObjectPermissionsUpdate;
2541 client.OnGrabObject += ProcessObjectGrab; 2545 client.OnGrabObject += ProcessObjectGrab;
2546 client.OnGrabUpdate += ProcessObjectGrabUpdate;
2542 client.OnDeGrabObject += ProcessObjectDeGrab; 2547 client.OnDeGrabObject += ProcessObjectDeGrab;
2543 client.OnUndo += m_sceneGraph.HandleUndo; 2548 client.OnUndo += m_sceneGraph.HandleUndo;
2544 client.OnObjectDescription += m_sceneGraph.PrimDescription; 2549 client.OnObjectDescription += m_sceneGraph.PrimDescription;