[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39483] branches/bmesh/blender/source/ blender/bmesh/operators/mesh_conv.c: fix for adding a hook not working in editmode for very simple cases.
Campbell Barton
ideasman42 at gmail.com
Wed Aug 17 09:51:14 CEST 2011
Revision: 39483
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39483
Author: campbellbarton
Date: 2011-08-17 07:51:11 +0000 (Wed, 17 Aug 2011)
Log Message:
-----------
fix for adding a hook not working in editmode for very simple cases.
hook index getting cleared when the mesh had no CD_SHAPE_KEYINDEX vertex custom data.
Modified Paths:
--------------
branches/bmesh/blender/source/blender/bmesh/operators/mesh_conv.c
Modified: branches/bmesh/blender/source/blender/bmesh/operators/mesh_conv.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/operators/mesh_conv.c 2011-08-17 07:40:40 UTC (rev 39482)
+++ branches/bmesh/blender/source/blender/bmesh/operators/mesh_conv.c 2011-08-17 07:51:11 UTC (rev 39483)
@@ -654,12 +654,27 @@
if (!vertMap) {
vertMap = MEM_callocN(sizeof(*vertMap)*ototvert, "vertMap");
-
- BM_ITER(eve, &iter, bm, BM_VERTS_OF_MESH, NULL) {
- keyi = CustomData_bmesh_get(&bm->vdata, eve->head.data, CD_SHAPE_KEYINDEX);
- if (keyi && *keyi != ORIGINDEX_NONE)
- vertMap[*keyi] = eve;
+ if(CustomData_has_layer(&bm->vdata, CD_SHAPE_KEYINDEX)) {
+ i= 0;
+ BM_ITER(eve, &iter, bm, BM_VERTS_OF_MESH, NULL) {
+ keyi = CustomData_bmesh_get(&bm->vdata, eve->head.data, CD_SHAPE_KEYINDEX);
+ if(keyi) {
+ if (*keyi != ORIGINDEX_NONE)
+ vertMap[*keyi] = eve;
+ }
+ else {
+ vertMap[i] = eve;
+ }
+ i++;
+ }
}
+ else {
+ i= 0;
+ BM_ITER(eve, &iter, bm, BM_VERTS_OF_MESH, NULL) {
+ vertMap[i] = eve;
+ i++;
+ }
+ }
}
for (i=j=0; i<hmd->totindex; i++) {
More information about the Bf-blender-cvs
mailing list