diff options
Diffstat (limited to 'source/blender/editors/armature/reeb.c')
-rw-r--r-- | source/blender/editors/armature/reeb.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/source/blender/editors/armature/reeb.c b/source/blender/editors/armature/reeb.c index a25d0675cb0..2a012437b42 100644 --- a/source/blender/editors/armature/reeb.c +++ b/source/blender/editors/armature/reeb.c @@ -64,6 +64,7 @@ #include "BKE_global.h" #include "BKE_utildefines.h" #include "BKE_customdata.h" +#include "BKE_mesh.h" //#include "blendef.h" @@ -3179,6 +3180,7 @@ static void setIteratorValues(ReebArcIterator *iter, EmbedBucket *bucket) iter->p = NULL; iter->no = NULL; } + iter->size = 0; } void initArcIterator(BArcIterator *arg, ReebArc *arc, ReebNode *head) @@ -3276,6 +3278,7 @@ static void* headNode(void *arg) iter->p = node->p; iter->no = node->no; + iter->size = 0; return node; } @@ -3296,6 +3299,7 @@ static void* tailNode(void *arg) iter->p = node->p; iter->no = node->no; + iter->size = 0; return node; } @@ -3382,10 +3386,9 @@ static int iteratorStopped(void *arg) ReebGraph *BIF_ReebGraphMultiFromEditMesh(bContext *C) { -#if 0 /*BMESH_TODO*/ Scene *scene = CTX_data_scene(C); Object *obedit = CTX_data_edit_object(C); - EditMesh *em =( (Mesh*)obedit->data)->edit_mesh; + EditMesh *em =BKE_mesh_get_editmesh(((Mesh*)obedit->data)); EdgeIndex indexed_edges; VertexData *data; ReebGraph *rg = NULL; @@ -3481,8 +3484,13 @@ ReebGraph *BIF_ReebGraphMultiFromEditMesh(bContext *C) MEM_freeN(data); + /*no need to load the editmesh back into the object, just + free it (avoids ngon conversion issues too going back the + other way)*/ + free_editMesh(em); + MEM_freeN(em); + return rg; -#endif } #if 0 |