diff options
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs b/OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs index 9fdef6a..383a67f 100644 --- a/OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs +++ b/OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs | |||
@@ -444,12 +444,23 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap | |||
444 | IJ2KDecoder imgDecoder = m_scene.RequestModuleInterface<IJ2KDecoder>(); | 444 | IJ2KDecoder imgDecoder = m_scene.RequestModuleInterface<IJ2KDecoder>(); |
445 | if (imgDecoder != null) | 445 | if (imgDecoder != null) |
446 | { | 446 | { |
447 | Image sculpt = imgDecoder.DecodeToImage(sculptAsset); | 447 | try |
448 | if (sculpt != null) | ||
449 | { | 448 | { |
450 | renderMesh = m_primMesher.GenerateFacetedSculptMesh(omvPrim, (Bitmap)sculpt, | 449 | Image sculpt = imgDecoder.DecodeToImage(sculptAsset); |
450 | if (sculpt != null) | ||
451 | { | ||
452 | renderMesh = m_primMesher.GenerateFacetedSculptMesh(omvPrim, (Bitmap)sculpt, | ||
451 | DetailLevel.Medium); | 453 | DetailLevel.Medium); |
452 | sculpt.Dispose(); | 454 | sculpt.Dispose(); |
455 | } | ||
456 | } | ||
457 | catch (Exception e) | ||
458 | { | ||
459 | Vector3 objectPos = prim.ParentGroup.RootPart.AbsolutePosition; | ||
460 | //// TODO - print out owner of SceneObjectPart prim. | ||
461 | m_log.Warn(string.Format("[WARP 3D IMAGE MODULE]: Failed to decode asset {0} @ {1},{2},{3} - {4}.", | ||
462 | omvPrim.Sculpt.SculptTexture, objectPos.X, objectPos.Y, objectPos.Z, | ||
463 | prim.ParentGroup.RootPart.Name)); | ||
453 | } | 464 | } |
454 | } | 465 | } |
455 | } | 466 | } |