diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs | 19 | ||||
-rw-r--r-- | OpenSim/Region/Physics/Meshing/Meshmerizer.cs | 4 |
2 files changed, 18 insertions, 5 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs index dd7e057..ad994c9 100644 --- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs +++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs | |||
@@ -1426,7 +1426,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization | |||
1426 | 1426 | ||
1427 | reader.ReadStartElement(name); | 1427 | reader.ReadStartElement(name); |
1428 | vec.X = reader.ReadElementContentAsFloat(reader.Name, String.Empty); // X or x | 1428 | vec.X = reader.ReadElementContentAsFloat(reader.Name, String.Empty); // X or x |
1429 | vec.Y = reader.ReadElementContentAsFloat(reader.Name, String.Empty); // Y or Y | 1429 | vec.Y = reader.ReadElementContentAsFloat(reader.Name, String.Empty); // Y or y |
1430 | vec.Z = reader.ReadElementContentAsFloat(reader.Name, String.Empty); // Z or z | 1430 | vec.Z = reader.ReadElementContentAsFloat(reader.Name, String.Empty); // Z or z |
1431 | reader.ReadEndElement(); | 1431 | reader.ReadEndElement(); |
1432 | 1432 | ||
@@ -1501,15 +1501,28 @@ namespace OpenSim.Region.Framework.Scenes.Serialization | |||
1501 | 1501 | ||
1502 | reader.ReadStartElement(name, String.Empty); // Shape | 1502 | reader.ReadStartElement(name, String.Empty); // Shape |
1503 | 1503 | ||
1504 | string nodeName = string.Empty; | ||
1504 | while (reader.NodeType != XmlNodeType.EndElement) | 1505 | while (reader.NodeType != XmlNodeType.EndElement) |
1505 | { | 1506 | { |
1507 | nodeName = reader.Name; | ||
1506 | //m_log.DebugFormat("[XXX] Processing: {0}", reader.Name); | 1508 | //m_log.DebugFormat("[XXX] Processing: {0}", reader.Name); |
1507 | ShapeXmlProcessor p = null; | 1509 | ShapeXmlProcessor p = null; |
1508 | if (m_ShapeXmlProcessors.TryGetValue(reader.Name, out p)) | 1510 | if (m_ShapeXmlProcessors.TryGetValue(reader.Name, out p)) |
1509 | p(shape, reader); | 1511 | { |
1512 | try | ||
1513 | { | ||
1514 | p(shape, reader); | ||
1515 | } | ||
1516 | catch (Exception e) | ||
1517 | { | ||
1518 | m_log.DebugFormat("[SceneObjectSerializer]: exception while parsing Shape {0}: {1}", nodeName, e); | ||
1519 | if (reader.NodeType == XmlNodeType.EndElement) | ||
1520 | reader.Read(); | ||
1521 | } | ||
1522 | } | ||
1510 | else | 1523 | else |
1511 | { | 1524 | { |
1512 | // m_log.DebugFormat("[SceneObjectSerializer]: caught unknown element in Shape {0}", reader.Name); | 1525 | // m_log.DebugFormat("[SceneObjectSerializer]: caught unknown element in Shape {0}", reader.Name); |
1513 | reader.ReadOuterXml(); | 1526 | reader.ReadOuterXml(); |
1514 | } | 1527 | } |
1515 | } | 1528 | } |
diff --git a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs index 1257804..d770ad1 100644 --- a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs +++ b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs | |||
@@ -287,7 +287,7 @@ namespace OpenSim.Region.Physics.Meshing | |||
287 | long start = 0; | 287 | long start = 0; |
288 | using (MemoryStream data = new MemoryStream(primShape.SculptData)) | 288 | using (MemoryStream data = new MemoryStream(primShape.SculptData)) |
289 | { | 289 | { |
290 | meshOsd = (OSDMap)OSDParser.DeserializeLLSDBinary(data, true); | 290 | meshOsd = (OSDMap)OSDParser.DeserializeLLSDBinary(data); |
291 | start = data.Position; | 291 | start = data.Position; |
292 | } | 292 | } |
293 | 293 | ||
@@ -324,7 +324,7 @@ namespace OpenSim.Region.Physics.Meshing | |||
324 | 324 | ||
325 | byte[] decompressedBuf = outMs.GetBuffer(); | 325 | byte[] decompressedBuf = outMs.GetBuffer(); |
326 | 326 | ||
327 | decodedMeshOsd = OSDParser.DeserializeLLSDBinary(decompressedBuf, true); | 327 | decodedMeshOsd = OSDParser.DeserializeLLSDBinary(decompressedBuf); |
328 | } | 328 | } |
329 | } | 329 | } |
330 | } | 330 | } |