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:
authorKévin Dietrich <kevin.dietrich@mailoo.org>2016-09-25 23:09:05 +0300
committerKévin Dietrich <kevin.dietrich@mailoo.org>2016-09-25 23:11:37 +0300
commit04230e80d12a7187887a927f16a0ccdac9b50e9e (patch)
treed4fbe43d2123f0767750f9ca72dedb13314eb9fa /source/blender/alembic/intern/abc_mesh.cc
parent0b89b31a1842edba162e3ca01b556906c8adee52 (diff)
Alembic: only interpolate vertices when their number don't differ
between samples. This could cause some crashes.
Diffstat (limited to 'source/blender/alembic/intern/abc_mesh.cc')
-rw-r--r--source/blender/alembic/intern/abc_mesh.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/alembic/intern/abc_mesh.cc b/source/blender/alembic/intern/abc_mesh.cc
index 00c86779960..8e640b36c27 100644
--- a/source/blender/alembic/intern/abc_mesh.cc
+++ b/source/blender/alembic/intern/abc_mesh.cc
@@ -859,7 +859,10 @@ static void read_mverts(CDStreamConfig &config, const AbcMeshData &mesh_data)
const P3fArraySamplePtr &positions = mesh_data.positions;
const N3fArraySamplePtr &normals = mesh_data.vertex_normals;
- if (config.weight != 0.0f && mesh_data.ceil_positions) {
+ if ( config.weight != 0.0f
+ && mesh_data.ceil_positions != NULL
+ && mesh_data.ceil_positions->size() == positions->size())
+ {
read_mverts_interp(mverts, positions, mesh_data.ceil_positions, config.weight);
return;
}