aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authordahlia2010-11-24 02:05:41 -0800
committerdahlia2010-11-24 02:05:41 -0800
commit9f29908f669cee2a4b6e13e7bd6507e7a24c1549 (patch)
tree0934341cfe1433a7bf431e796c328dff860321ea /OpenSim/Region
parentAttempt at fixing failing test. (diff)
downloadopensim-SC-9f29908f669cee2a4b6e13e7bd6507e7a24c1549.zip
opensim-SC-9f29908f669cee2a4b6e13e7bd6507e7a24c1549.tar.gz
opensim-SC-9f29908f669cee2a4b6e13e7bd6507e7a24c1549.tar.bz2
opensim-SC-9f29908f669cee2a4b6e13e7bd6507e7a24c1549.tar.xz
catch an exception when a mesh asset header cant be decoded
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Physics/Meshing/Meshmerizer.cs11
1 files changed, 9 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
index d770ad1..3386e72 100644
--- a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
+++ b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
@@ -276,7 +276,7 @@ namespace OpenSim.Region.Physics.Meshing
276 276
277 m_log.Debug("[MESH]: experimental mesh proxy generation"); 277 m_log.Debug("[MESH]: experimental mesh proxy generation");
278 278
279 OSD meshOsd; 279 OSD meshOsd = null;
280 280
281 if (primShape.SculptData.Length <= 0) 281 if (primShape.SculptData.Length <= 0)
282 { 282 {
@@ -287,7 +287,14 @@ 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); 290 try
291 {
292 meshOsd = (OSDMap)OSDParser.DeserializeLLSDBinary(data);
293 }
294 catch (Exception e)
295 {
296 m_log.Error("[MESH]: Exception deserializing mesh asset header:" + e.ToString());
297 }
291 start = data.Position; 298 start = data.Position;
292 } 299 }
293 300