Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2013-04-19 01:40:06 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-04-19 01:40:06 +0400
commitc846e3c750576891d3d09ad12e78e699dc91f4fe (patch)
tree0add5980a7573a9b5855372be43fed3de520a602 /source/blender/collada/MeshImporter.cpp
parent116f1ae4d6e0b5e88202e8143be978a4c194bbb1 (diff)
Fix #35014: collada import crash with UV coordinates.
Diffstat (limited to 'source/blender/collada/MeshImporter.cpp')
-rw-r--r--source/blender/collada/MeshImporter.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/collada/MeshImporter.cpp b/source/blender/collada/MeshImporter.cpp
index c3efac55fe7..7c0c0631e7f 100644
--- a/source/blender/collada/MeshImporter.cpp
+++ b/source/blender/collada/MeshImporter.cpp
@@ -602,6 +602,8 @@ void MeshImporter::read_polys(COLLADAFW::Mesh *collada_mesh, Mesh *me)
collada_meshtype == COLLADAFW::MeshPrimitive::POLYGONS ||
collada_meshtype == COLLADAFW::MeshPrimitive::TRIANGLES) {
COLLADAFW::Polygons *mpvc = (COLLADAFW::Polygons *)mp;
+ unsigned int start_index = 0;
+
for (unsigned int j = 0; j < prim_totpoly; j++) {
// Vertices in polygon:
@@ -615,7 +617,7 @@ void MeshImporter::read_polys(COLLADAFW::Mesh *collada_mesh, Mesh *me)
// get mtface by face index and uv set index
MLoopUV *mloopuv = (MLoopUV *)CustomData_get_layer_n(&me->ldata, CD_MLOOPUV, uvset_index);
- set_face_uv(mloopuv+loop_index, uvs, loop_index, *index_list_array[l], vcount);
+ set_face_uv(mloopuv+loop_index, uvs, start_index, *index_list_array[l], vcount);
}
if (mp_has_normals) {
@@ -626,6 +628,7 @@ void MeshImporter::read_polys(COLLADAFW::Mesh *collada_mesh, Mesh *me)
mpoly++;
mloop += vcount;
loop_index += vcount;
+ start_index += vcount;
prim.totpoly++;
if (mp_has_normals)