aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2017-05-23 04:21:03 +0100
committerUbitUmarov2017-05-23 04:21:03 +0100
commite69057a1b6115d6d7012d09eccee3ba8aca16d41 (patch)
tree735a8e51c639c7184c8680d7a185933b78039209
parent stop a few more threads on exit (diff)
downloadopensim-SC_OLD-e69057a1b6115d6d7012d09eccee3ba8aca16d41.zip
opensim-SC_OLD-e69057a1b6115d6d7012d09eccee3ba8aca16d41.tar.gz
opensim-SC_OLD-e69057a1b6115d6d7012d09eccee3ba8aca16d41.tar.bz2
opensim-SC_OLD-e69057a1b6115d6d7012d09eccee3ba8aca16d41.tar.xz
dont fail saving a OAR because of a broken material
-rw-r--r--OpenSim/Region/Framework/Scenes/UuidGatherer.cs11
1 files changed, 10 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
index 93406cb..5a9a5a0 100644
--- a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
+++ b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
@@ -550,7 +550,16 @@ namespace OpenSim.Region.Framework.Scenes
550 /// </summary> 550 /// </summary>
551 private void RecordMaterialAssetUuids(AssetBase materialAsset) 551 private void RecordMaterialAssetUuids(AssetBase materialAsset)
552 { 552 {
553 OSDMap mat = (OSDMap)OSDParser.DeserializeLLSDXml(materialAsset.Data); 553 OSDMap mat;
554 try
555 {
556 mat = (OSDMap)OSDParser.DeserializeLLSDXml(materialAsset.Data);
557 }
558 catch (Exception e)
559 {
560 m_log.WarnFormat("[Materials]: cannot decode material asset {0}: {1}", materialAsset.ID, e.Message);
561 return;
562 }
554 563
555 UUID normMap = mat["NormMap"].AsUUID(); 564 UUID normMap = mat["NormMap"].AsUUID();
556 if (normMap != UUID.Zero) 565 if (normMap != UUID.Zero)