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;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to