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