[Bf-blender-cvs] [3aedb3a] master: Fix for invalid custom data checks in armature and lattice functions.

Lukas Tönne noreply at git.blender.org
Wed Mar 5 15:18:56 CET 2014


Commit: 3aedb3aed7c8c2a268db2fab6e69007fa65f4950
Author: Lukas Tönne
Date:   Wed Mar 5 15:11:36 2014 +0100
https://developer.blender.org/rB3aedb3aed7c8c2a268db2fab6e69007fa65f4950

Fix for invalid custom data checks in armature and lattice functions.

Testing for custom data availability with getVertData and index 0 fails
on assert for empty meshes (the index must be in valid range). Better
use getVertDataArray which has no requirement for specific index.

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

M	source/blender/blenkernel/intern/armature.c
M	source/blender/blenkernel/intern/lattice.c

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

diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c
index 29d322e..11a34ce 100644
--- a/source/blender/blenkernel/intern/armature.c
+++ b/source/blender/blenkernel/intern/armature.c
@@ -888,7 +888,7 @@ void armature_deform_verts(Object *armOb, Object *target, DerivedMesh *dm, float
 		if (ELEM(target->type, OB_MESH, OB_LATTICE)) {
 			/* if we have a DerivedMesh, only use dverts if it has them */
 			if (dm) {
-				use_dverts = (dm->getVertData(dm, 0, CD_MDEFORMVERT) != NULL);
+				use_dverts = (dm->getVertDataArray(dm, CD_MDEFORMVERT) != NULL);
 			}
 			else if (dverts) {
 				use_dverts = TRUE;
diff --git a/source/blender/blenkernel/intern/lattice.c b/source/blender/blenkernel/intern/lattice.c
index 8330fef..72462ee 100644
--- a/source/blender/blenkernel/intern/lattice.c
+++ b/source/blender/blenkernel/intern/lattice.c
@@ -894,7 +894,7 @@ void lattice_deform_verts(Object *laOb, Object *target, DerivedMesh *dm,
 	if (target && target->type == OB_MESH) {
 		/* if there's derived data without deformverts, don't use vgroups */
 		if (dm) {
-			use_vgroups = (dm->getVertData(dm, 0, CD_MDEFORMVERT) != NULL);
+			use_vgroups = (dm->getVertDataArray(dm, CD_MDEFORMVERT) != NULL);
 		}
 		else {
 			Mesh *me = target->data;




More information about the Bf-blender-cvs mailing list