aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMW2007-12-01 21:52:10 +0000
committerMW2007-12-01 21:52:10 +0000
commit0a2425432a9b2d6b12372fb41c178cd2137e6ba5 (patch)
tree77b2232d0d96be84916d7ae36d97753a31e6da9c /OpenSim/Region
parentattempt to fix sitting-related bugs #3 and #67 (diff)
downloadopensim-SC-0a2425432a9b2d6b12372fb41c178cd2137e6ba5.zip
opensim-SC-0a2425432a9b2d6b12372fb41c178cd2137e6ba5.tar.gz
opensim-SC-0a2425432a9b2d6b12372fb41c178cd2137e6ba5.tar.bz2
opensim-SC-0a2425432a9b2d6b12372fb41c178cd2137e6ba5.tar.xz
Rezzing multiple copies of a inventory prim should now work.
Diffstat (limited to 'OpenSim/Region')
-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>