diff options
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_iterators.c')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_iterators.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/source/blender/bmesh/intern/bmesh_iterators.c b/source/blender/bmesh/intern/bmesh_iterators.c index b234d4514c0..384715d74f7 100644 --- a/source/blender/bmesh/intern/bmesh_iterators.c +++ b/source/blender/bmesh/intern/bmesh_iterators.c @@ -83,18 +83,17 @@ void *BM_iter_at_index(BMesh *bm, const char itype, void *data, int index) * Sometimes its convenient to get the iterator as an array * to avoid multiple calls to #BM_iter_at_index. */ -int BM_iter_as_array(BMesh *bm, const char type, void *data, void **array, const int len) +int BM_iter_as_array(BMesh *bm, const char itype, void *data, void **array, const int len) { int i = 0; /* sanity check */ if (len > 0) { - BMIter iter; - void *val; + void *ele; - BM_ITER (val, &iter, bm, type, data) { - array[i] = val; + for (ele = BM_iter_new(&iter, bm, itype, data); ele; ele = BM_iter_step(&iter)) { + array[i] = ele; i++; if (i == len) { return len; |