aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
authorUbitUmarov2014-09-22 13:59:23 +0100
committerUbitUmarov2014-09-22 13:59:23 +0100
commitbcaf202e34ab058a049c921e1279793d61eef5ea (patch)
treeaeac96a4758f1247d1602d3ae7db981128439ba5 /OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
parent remove redundant lock (diff)
downloadopensim-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.cs8
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