aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs24
1 files changed, 21 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
index b1b1fc5..b012a08 100644
--- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
+++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
@@ -1361,9 +1361,27 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
1361 1361
1362 private static void ProcessShpMedia(PrimitiveBaseShape shp, XmlReader reader) 1362 private static void ProcessShpMedia(PrimitiveBaseShape shp, XmlReader reader)
1363 { 1363 {
1364 // Get inner XML and pass to MediaList parser 1364 string value = String.Empty;
1365 string value = reader.ReadInnerXml(); 1365 try
1366 shp.Media = PrimitiveBaseShape.MediaList.FromXml(value); 1366 {
1367 // The STANDARD content of Media elemet is escaped XML string (with > etc).
1368 value = reader.ReadElementContentAsString("Media", String.Empty);
1369 shp.Media = PrimitiveBaseShape.MediaList.FromXml(value);
1370 }
1371 catch (XmlException e)
1372 {
1373 // There are versions of OAR files that contain unquoted XML.
1374 // ie ONE comercial fork that never wanted their oars to be read by our code
1375 try
1376 {
1377 value = reader.ReadInnerXml();
1378 shp.Media = PrimitiveBaseShape.MediaList.FromXml(value);
1379 }
1380 catch
1381 {
1382 m_log.ErrorFormat("[SERIALIZER] Failed parsing halcyon MOAP information");
1383 }
1384 }
1367 } 1385 }
1368 1386
1369 #endregion 1387 #endregion