From f8721c3c1cd5d4eb2827ea1cfd36e08f3a100345 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Fri, 18 Jul 2008 14:42:06 +0000 Subject: * refactor: break out sog loading code into two parts so that post-deserialization changes can be carried out before adding it to a scene --- .../Modules/World/Archiver/ArchiveReadRequest.cs | 24 ++++++++++------------ 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs') diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs index f5496b9..d901b54 100644 --- a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs +++ b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs @@ -123,21 +123,19 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver foreach (string serialisedSceneObject in serialisedSceneObjects) { - SceneObjectGroup sceneObject = serialiser.LoadGroupFromXml2(m_scene, serialisedSceneObject); + SceneObjectGroup sceneObject = serialiser.DeserializeGroupFromXml2(serialisedSceneObject); - // TODO: Change object creator/owner here - - if (null != sceneObject) + // Make the master the owner/creator of everything imported for now + LLUUID masterAvatarId = m_scene.RegionInfo.MasterAvatarAssignedUUID; + foreach (SceneObjectPart part in sceneObject.Children.Values) { - // Make the master the owner/creator of everything imported for now - LLUUID masterAvatarId = m_scene.RegionInfo.MasterAvatarAssignedUUID; - foreach (SceneObjectPart part in sceneObject.Children.Values) - { - part.CreatorID = masterAvatarId; - part.OwnerID = masterAvatarId; - part.LastOwnerID = masterAvatarId; - } - + part.CreatorID = masterAvatarId; + part.OwnerID = masterAvatarId; + part.LastOwnerID = masterAvatarId; + } + + if (m_scene.AddRestoredSceneObject(sceneObject, true, false)) + { sceneObjects.Add(sceneObject); } } -- cgit v1.1