From eab0951a591bc2576d6b361a6fa4c75f683bfa54 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 8 Jan 2011 15:49:51 -0800 Subject: Fixes the issue of hung archives. Problem was with SceneObjectSerializer. Also fixes a buglet in scene load xml command, where it was given the wrong argument index for filename. --- OpenSim/Region/Application/OpenSim.cs | 2 +- .../Framework/Scenes/Serialization/SceneObjectSerializer.cs | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index e3b8573..51eb396 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs @@ -1146,7 +1146,7 @@ namespace OpenSim MainConsole.Instance.Output(String.Format("loadOffsets = <{0},{1},{2}>",loadOffset.X,loadOffset.Y,loadOffset.Z)); } } - m_sceneManager.LoadCurrentSceneFromXml(cmdparams[0], generateNewIDS, loadOffset); + m_sceneManager.LoadCurrentSceneFromXml(cmdparams[2], generateNewIDS, loadOffset); } else { diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs index 605521a..57ae4fd 100644 --- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs +++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs @@ -1441,6 +1441,12 @@ namespace OpenSim.Region.Framework.Scenes.Serialization { TaskInventoryDictionary tinv = new TaskInventoryDictionary(); + if (reader.IsEmptyElement) + { + reader.Read(); + return tinv; + } + reader.ReadStartElement(name, String.Empty); while (reader.Name == "TaskInventoryItem") @@ -1474,6 +1480,12 @@ namespace OpenSim.Region.Framework.Scenes.Serialization { PrimitiveBaseShape shape = new PrimitiveBaseShape(); + if (reader.IsEmptyElement) + { + reader.Read(); + return shape; + } + reader.ReadStartElement(name, String.Empty); // Shape string nodeName = string.Empty; -- cgit v1.1