diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Serialization/SceneXmlLoader.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Serialization/SceneXmlLoader.cs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneXmlLoader.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneXmlLoader.cs index 3c03130..0ebc645 100644 --- a/OpenSim/Region/Framework/Scenes/Serialization/SceneXmlLoader.cs +++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneXmlLoader.cs | |||
@@ -49,14 +49,18 @@ namespace OpenSim.Region.Framework.Scenes.Serialization | |||
49 | public static void LoadPrimsFromXml(Scene scene, string fileName, bool newIDS, Vector3 loadOffset) | 49 | public static void LoadPrimsFromXml(Scene scene, string fileName, bool newIDS, Vector3 loadOffset) |
50 | { | 50 | { |
51 | XmlDocument doc = new XmlDocument(); | 51 | XmlDocument doc = new XmlDocument(); |
52 | doc.XmlResolver=null; | ||
52 | XmlNode rootNode; | 53 | XmlNode rootNode; |
53 | 54 | ||
54 | if (fileName.StartsWith("http:") || File.Exists(fileName)) | 55 | if (fileName.StartsWith("http:") || File.Exists(fileName)) |
55 | { | 56 | { |
56 | XmlTextReader reader = new XmlTextReader(fileName); | 57 | using(XmlTextReader reader = new XmlTextReader(fileName)) |
57 | reader.WhitespaceHandling = WhitespaceHandling.None; | 58 | { |
58 | doc.Load(reader); | 59 | reader.WhitespaceHandling = WhitespaceHandling.None; |
59 | reader.Close(); | 60 | reader.ProhibitDtd = true; |
61 | |||
62 | doc.Load(reader); | ||
63 | } | ||
60 | rootNode = doc.FirstChild; | 64 | rootNode = doc.FirstChild; |
61 | foreach (XmlNode aPrimNode in rootNode.ChildNodes) | 65 | foreach (XmlNode aPrimNode in rootNode.ChildNodes) |
62 | { | 66 | { |
@@ -70,6 +74,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization | |||
70 | //obj.RegenerateFullIDs(); | 74 | //obj.RegenerateFullIDs(); |
71 | 75 | ||
72 | scene.AddNewSceneObject(obj, true); | 76 | scene.AddNewSceneObject(obj, true); |
77 | obj.InvalidateDeepEffectivePerms(); | ||
73 | } | 78 | } |
74 | } | 79 | } |
75 | else | 80 | else |
@@ -265,6 +270,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization | |||
265 | foreach (XmlNode aPrimNode in rootNode.ChildNodes) | 270 | foreach (XmlNode aPrimNode in rootNode.ChildNodes) |
266 | { | 271 | { |
267 | SceneObjectGroup obj = DeserializeGroupFromXml2(aPrimNode.OuterXml); | 272 | SceneObjectGroup obj = DeserializeGroupFromXml2(aPrimNode.OuterXml); |
273 | scene.AddNewSceneObject(obj, true); | ||
268 | if (startScripts) | 274 | if (startScripts) |
269 | sceneObjects.Add(obj); | 275 | sceneObjects.Add(obj); |
270 | } | 276 | } |