From d12957dc2c3e649ea32da4c35a8eb997c404afce Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 9 Jun 2017 12:14:13 +0100 Subject: [PATCH] still losing time with of halcyon incompatibile oars... cathch exceptions of the function that actually throws; Reduce log spam; don't let a broken MOAP stop all object deserialization. Fixing MOAP does not mean halcyon oars issues are fixed, just one. And really we should not even try to go against halcyon decison to be incompatible.(our MOAP encoding did not change since 2010) --- .../Scenes/Serialization/SceneObjectSerializer.cs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs index aa15422e17..b012a088fd 100644 --- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs +++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs @@ -1364,26 +1364,24 @@ namespace OpenSim.Region.Framework.Scenes.Serialization string value = String.Empty; try { - // The prominant format for MOAP is escaped XML (with > etc). - // This is read as a string and passed to PrimitiveBaseShape which requires - // its XML as a string (which it parses with its own XmlReader). + // The STANDARD content of Media elemet is escaped XML string (with > etc). value = reader.ReadElementContentAsString("Media", String.Empty); + shp.Media = PrimitiveBaseShape.MediaList.FromXml(value); } catch (XmlException e) { // There are versions of OAR files that contain unquoted XML. + // ie ONE comercial fork that never wanted their oars to be read by our code try { - m_log.WarnFormat("[SERIALIZER] MOAP specification in non-escaped XML format. Recovering."); value = reader.ReadInnerXml(); + shp.Media = PrimitiveBaseShape.MediaList.FromXml(value); } - catch (Exception ee) + catch { - m_log.ErrorFormat("[SERIALIZER] Failed parsing of MOAP information"); - throw new XmlException("Failed parsing of MOAP media XML element"); + m_log.ErrorFormat("[SERIALIZER] Failed parsing halcyon MOAP information"); } } - shp.Media = PrimitiveBaseShape.MediaList.FromXml(value); } #endregion