diff options
author | UbitUmarov | 2018-07-29 23:31:38 +0100 |
---|---|---|
committer | UbitUmarov | 2018-07-29 23:31:38 +0100 |
commit | 390cb703f37a6a78d481723636575f9abc7b3b45 (patch) | |
tree | 1f7a492b030e38e24471b94e7cf6cf1aa324e6b8 /OpenSim | |
parent | mantis 8346: fix argument of osUnixTimeToTimestamp (diff) | |
download | opensim-SC-390cb703f37a6a78d481723636575f9abc7b3b45.zip opensim-SC-390cb703f37a6a78d481723636575f9abc7b3b45.tar.gz opensim-SC-390cb703f37a6a78d481723636575f9abc7b3b45.tar.bz2 opensim-SC-390cb703f37a6a78d481723636575f9abc7b3b45.tar.xz |
and some more guard try{}catch{} on ub mesh processing
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/PhysicsModules/ubOdeMeshing/Meshmerizer.cs | 39 |
1 files changed, 31 insertions, 8 deletions
diff --git a/OpenSim/Region/PhysicsModules/ubOdeMeshing/Meshmerizer.cs b/OpenSim/Region/PhysicsModules/ubOdeMeshing/Meshmerizer.cs index dddec86..6a4ef1e 100644 --- a/OpenSim/Region/PhysicsModules/ubOdeMeshing/Meshmerizer.cs +++ b/OpenSim/Region/PhysicsModules/ubOdeMeshing/Meshmerizer.cs | |||
@@ -242,27 +242,50 @@ namespace OpenSim.Region.PhysicsModule.ubODEMeshing | |||
242 | 242 | ||
243 | if (primShape.SculptEntry) | 243 | if (primShape.SculptEntry) |
244 | { | 244 | { |
245 | if (((OpenMetaverse.SculptType)primShape.SculptType) == SculptType.Mesh) | 245 | if (((SculptType)primShape.SculptType) == SculptType.Mesh) |
246 | { | 246 | { |
247 | if (!useMeshiesPhysicsMesh) | 247 | if (!useMeshiesPhysicsMesh) |
248 | return null; | 248 | return null; |
249 | 249 | try | |
250 | if (!GenerateCoordsAndFacesFromPrimMeshData(primName, primShape, out coords, out faces, convex)) | 250 | { |
251 | if (!GenerateCoordsAndFacesFromPrimMeshData(primName, primShape, out coords, out faces, convex)) | ||
252 | return null; | ||
253 | needsConvexProcessing = false; | ||
254 | } | ||
255 | catch | ||
256 | { | ||
257 | m_log.ErrorFormat("[MESH]: fail to process mesh asset for prim {0}", primName); | ||
251 | return null; | 258 | return null; |
252 | needsConvexProcessing = false; | 259 | } |
253 | } | 260 | } |
254 | else | 261 | else |
255 | { | 262 | { |
256 | if (!GenerateCoordsAndFacesFromPrimSculptData(primName, primShape, lod, out coords, out faces)) | 263 | try |
264 | { | ||
265 | if (!GenerateCoordsAndFacesFromPrimSculptData(primName, primShape, lod, out coords, out faces)) | ||
266 | return null; | ||
267 | needsConvexProcessing &= doConvexSculpts; | ||
268 | } | ||
269 | catch | ||
270 | { | ||
271 | m_log.ErrorFormat("[MESH]: fail to process sculpt map for prim {0}", primName); | ||
257 | return null; | 272 | return null; |
258 | needsConvexProcessing &= doConvexSculpts; | 273 | } |
259 | } | 274 | } |
260 | } | 275 | } |
261 | else | 276 | else |
262 | { | 277 | { |
263 | if (!GenerateCoordsAndFacesFromPrimShapeData(primName, primShape, lod, convex, out coords, out faces)) | 278 | try |
279 | { | ||
280 | if (!GenerateCoordsAndFacesFromPrimShapeData(primName, primShape, lod, convex, out coords, out faces)) | ||
281 | return null; | ||
282 | needsConvexProcessing &= doConvexPrims; | ||
283 | } | ||
284 | catch | ||
285 | { | ||
286 | m_log.ErrorFormat("[MESH]: fail to process shape parameters for prim {0}", primName); | ||
264 | return null; | 287 | return null; |
265 | needsConvexProcessing &= doConvexPrims; | 288 | } |
266 | } | 289 | } |
267 | 290 | ||
268 | int numCoords = coords.Count; | 291 | int numCoords = coords.Count; |