aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs1
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs11
2 files changed, 12 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
index 368d030..759d070 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
@@ -484,6 +484,7 @@ namespace OpenSim.Region.Environment.Scenes
484 private void AddRezObject(string xmlData, LLVector3 pos) 484 private void AddRezObject(string xmlData, LLVector3 pos)
485 { 485 {
486 SceneObjectGroup group = new SceneObjectGroup(this, m_regionHandle, xmlData); 486 SceneObjectGroup group = new SceneObjectGroup(this, m_regionHandle, xmlData);
487 group.GenerateNewIDs();
487 AddEntity(group); 488 AddEntity(group);
488 group.AbsolutePosition = pos; 489 group.AbsolutePosition = pos;
489 SceneObjectPart rootPart = group.GetChildPart(group.UUID); 490 SceneObjectPart rootPart = group.GetChildPart(group.UUID);
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index 24fc484..193677e 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -598,6 +598,17 @@ namespace OpenSim.Region.Environment.Scenes
598 SetPartAsNonRoot(newPart); 598 SetPartAsNonRoot(newPart);
599 } 599 }
600 600
601
602 public void GenerateNewIDs()
603 {
604 List<SceneObjectPart> partsList = new List<SceneObjectPart>(m_parts.Values);
605 m_parts.Clear();
606 foreach (SceneObjectPart part in partsList)
607 {
608 part.UUID = LLUUID.Random();
609 m_parts.Add(part.UUID, part);
610 }
611 }
601 /// <summary> 612 /// <summary>
602 /// 613 ///
603 /// </summary> 614 /// </summary>