diff options
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_walkers.c')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_walkers.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/bmesh/intern/bmesh_walkers.c b/source/blender/bmesh/intern/bmesh_walkers.c index 029bc35f2e7..69ab7a91232 100644 --- a/source/blender/bmesh/intern/bmesh_walkers.c +++ b/source/blender/bmesh/intern/bmesh_walkers.c @@ -29,6 +29,7 @@ #include <stdlib.h> #include <string.h> /* for memcpy */ +#include "BLI_utildefines.h" #include "BLI_listbase.h" #include "bmesh.h" @@ -86,7 +87,8 @@ void BMW_init(BMWalker *walker, BMesh *bm, int type, walker->mask_face = mask_face; walker->visithash = BLI_ghash_new(BLI_ghashutil_ptrhash, BLI_ghashutil_ptrcmp, "bmesh walkers 1"); - + walker->secvisithash = BLI_ghash_new(BLI_ghashutil_ptrhash, BLI_ghashutil_ptrcmp, "bmesh walkers sec 1"); + if (UNLIKELY(type >= BMW_MAXWALKERS || type < 0)) { fprintf(stderr, "Invalid walker type in BMW_init; type: %d, " @@ -125,6 +127,7 @@ void BMW_end(BMWalker *walker) { BLI_mempool_destroy(walker->worklist); BLI_ghash_free(walker->visithash, NULL, NULL); + BLI_ghash_free(walker->secvisithash, NULL, NULL); } @@ -251,5 +254,7 @@ void BMW_reset(BMWalker *walker) } walker->depth = 0; BLI_ghash_free(walker->visithash, NULL, NULL); + BLI_ghash_free(walker->secvisithash, NULL, NULL); walker->visithash = BLI_ghash_new(BLI_ghashutil_ptrhash, BLI_ghashutil_ptrcmp, "bmesh walkers 1"); + walker->secvisithash = BLI_ghash_new(BLI_ghashutil_ptrhash, BLI_ghashutil_ptrcmp, "bmesh walkers sec 1"); } |