diff options
author | UbitUmarov | 2014-09-22 13:59:23 +0100 |
---|---|---|
committer | UbitUmarov | 2014-09-22 13:59:23 +0100 |
commit | bcaf202e34ab058a049c921e1279793d61eef5ea (patch) | |
tree | aeac96a4758f1247d1602d3ae7db981128439ba5 /OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |
parent | remove redundant lock (diff) | |
download | opensim-SC_OLD-bcaf202e34ab058a049c921e1279793d61eef5ea.zip opensim-SC_OLD-bcaf202e34ab058a049c921e1279793d61eef5ea.tar.gz opensim-SC_OLD-bcaf202e34ab058a049c921e1279793d61eef5ea.tar.bz2 opensim-SC_OLD-bcaf202e34ab058a049c921e1279793d61eef5ea.tar.xz |
update scenegraph group find by part information in sog link, so script link functions do update that also.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 15349e3..b939b58 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -2560,11 +2560,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
2560 | /// <param name="cGroupID"></param> | 2560 | /// <param name="cGroupID"></param> |
2561 | public SceneObjectPart CopyPart(SceneObjectPart part, UUID cAgentID, UUID cGroupID, bool userExposed) | 2561 | public SceneObjectPart CopyPart(SceneObjectPart part, UUID cAgentID, UUID cGroupID, bool userExposed) |
2562 | { | 2562 | { |
2563 | // give new ID to the new part, letting old keep original | ||
2564 | // SceneObjectPart newPart = part.Copy(m_scene.AllocateLocalId(), OwnerID, GroupID, m_parts.Count, userExposed); | ||
2565 | SceneObjectPart newPart = part.Copy(part.LocalId, OwnerID, GroupID, m_parts.Count, userExposed); | 2563 | SceneObjectPart newPart = part.Copy(part.LocalId, OwnerID, GroupID, m_parts.Count, userExposed); |
2566 | newPart.LocalId = m_scene.AllocateLocalId(); | 2564 | newPart.LocalId = m_scene.AllocateLocalId(); |
2567 | newPart.SetParent(this); | ||
2568 | 2565 | ||
2569 | AddPart(newPart); | 2566 | AddPart(newPart); |
2570 | 2567 | ||
@@ -2977,6 +2974,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
2977 | m_parts.Add(linkPart.UUID, linkPart); | 2974 | m_parts.Add(linkPart.UUID, linkPart); |
2978 | 2975 | ||
2979 | linkPart.SetParent(this); | 2976 | linkPart.SetParent(this); |
2977 | m_scene.updateScenePartGroup(linkPart, this); | ||
2978 | |||
2980 | linkPart.CreateSelected = true; | 2979 | linkPart.CreateSelected = true; |
2981 | 2980 | ||
2982 | // let physics know preserve part volume dtc messy since UpdatePrimFlags doesn't look to parent changes for now | 2981 | // let physics know preserve part volume dtc messy since UpdatePrimFlags doesn't look to parent changes for now |
@@ -3238,9 +3237,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
3238 | part.SetParent(this); | 3237 | part.SetParent(this); |
3239 | part.ParentID = m_rootPart.LocalId; | 3238 | part.ParentID = m_rootPart.LocalId; |
3240 | m_parts.Add(part.UUID, part); | 3239 | m_parts.Add(part.UUID, part); |
3240 | |||
3241 | 3241 | ||
3242 | part.LinkNum = linkNum; | 3242 | part.LinkNum = linkNum; |
3243 | 3243 | ||
3244 | m_scene.updateScenePartGroup(part, this); | ||
3245 | |||
3244 | // Compute the new position of this SOP relative to the group position | 3246 | // Compute the new position of this SOP relative to the group position |
3245 | part.OffsetPosition = newPos - AbsolutePosition; | 3247 | part.OffsetPosition = newPos - AbsolutePosition; |
3246 | 3248 | ||