[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