diff options
author | MW | 2007-12-01 21:52:10 +0000 |
---|---|---|
committer | MW | 2007-12-01 21:52:10 +0000 |
commit | 0a2425432a9b2d6b12372fb41c178cd2137e6ba5 (patch) | |
tree | 77b2232d0d96be84916d7ae36d97753a31e6da9c /OpenSim/Region | |
parent | attempt to fix sitting-related bugs #3 and #67 (diff) | |
download | opensim-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 '')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 1 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 11 |
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> |