From 31a81e17be6e59111deb484650fbb1cfa1eb6c5c Mon Sep 17 00:00:00 2001
From: MW
Date: Mon, 20 Aug 2007 15:49:06 +0000
Subject: The regionUUID is now being passed to the datastore calls.
---
OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs')
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index 1e6cd8f..9042c04 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -436,12 +436,26 @@ namespace OpenSim.Region.Environment.Scenes
linkPart.SetParent(this);
//TODO: rest of parts
+ foreach (SceneObjectPart part in objectGroup.Children.Values)
+ {
+ if (part.UUID != objectGroup.m_rootPart.UUID)
+ {
+ this.LinkNonRootPart(part);
+ }
+ }
m_scene.EventManager.OnBackup -= objectGroup.ProcessBackup;
m_scene.DeleteEntity(objectGroup.UUID);
this.ScheduleGroupForFullUpdate();
}
+ private void LinkNonRootPart(SceneObjectPart part)
+ {
+ part.SetParent(this);
+ part.ParentID = this.m_rootPart.LocalID;
+ this.m_parts.Add(part.UUID, part);
+ }
+
///
///
///
@@ -812,7 +826,7 @@ namespace OpenSim.Region.Environment.Scenes
///
public void ProcessBackup(OpenSim.Region.Interfaces.IRegionDataStore datastore)
{
- datastore.StoreObject(this);
+ datastore.StoreObject(this, m_scene.RegionInfo.SimUUID);
}
#endregion
--
cgit v1.1