diff options
author | Gaia Clary <gaia.clary@machinimatrix.org> | 2013-02-08 16:31:47 +0400 |
---|---|---|
committer | Gaia Clary <gaia.clary@machinimatrix.org> | 2013-02-08 16:31:47 +0400 |
commit | 8b37f4724f6d3046103eee8740a286cacf61f8d0 (patch) | |
tree | 81f8d8c007490c13a00a3a9af9728f89898ebcfe /source | |
parent | fdd18c7a07053f8bcb561703bd2467c28e02a2d7 (diff) |
fix: #34051 Collada export crashes
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/collada/ControllerExporter.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/collada/ControllerExporter.cpp b/source/blender/collada/ControllerExporter.cpp index c8307589af4..57047346617 100644 --- a/source/blender/collada/ControllerExporter.cpp +++ b/source/blender/collada/ControllerExporter.cpp @@ -246,10 +246,13 @@ void ControllerExporter::export_skin_controller(Object *ob, Object *ob_arm) float sumw = 0.0f; for (j = 0; j < vert->totweight; j++) { - int joint_index = joint_index_by_def_index[vert->dw[j].def_nr]; - if (joint_index != -1 && vert->dw[j].weight > 0.0f) { - jw[joint_index] += vert->dw[j].weight; - sumw += vert->dw[j].weight; + int idx = vert->dw[j].def_nr; + if (idx >= 0) { + int joint_index = joint_index_by_def_index[idx]; + if (joint_index != -1 && vert->dw[j].weight > 0.0f) { + jw[joint_index] += vert->dw[j].weight; + sumw += vert->dw[j].weight; + } } } |