[Bf-blender-cvs] [04230e8] master: Alembic: only interpolate vertices when their number don't differ between samples.

Kévin Dietrich noreply at git.blender.org
Sun Sep 25 22:11:54 CEST 2016


Commit: 04230e80d12a7187887a927f16a0ccdac9b50e9e
Author: Kévin Dietrich
Date:   Sun Sep 25 22:09:05 2016 +0200
Branches: master
https://developer.blender.org/rB04230e80d12a7187887a927f16a0ccdac9b50e9e

Alembic: only interpolate vertices when their number don't differ
between samples.

This could cause some crashes.

===================================================================

M	source/blender/alembic/intern/abc_mesh.cc

===================================================================

diff --git a/source/blender/alembic/intern/abc_mesh.cc b/source/blender/alembic/intern/abc_mesh.cc
index 00c8677..8e640b3 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;
 	}




More information about the Bf-blender-cvs mailing list