diff options
Merge branch 'master' into presence-refactor
This was a large, heavily conflicted merge and things MAY have got broken.
Please check!
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 9 |
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; |