diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-02-06 07:31:08 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-02-06 07:34:36 +0300 |
commit | f9f04726e5a4387d89edb3f067f6f0e4dff58a28 (patch) | |
tree | 2e0ceb1787e12ccca1e7d4d96d9aa5e648e17dde /source/blender/modifiers/intern/MOD_build.c | |
parent | 4cbf2ebdc924db94681bb154e58385f32d1ba9a3 (diff) |
GHash: no need to malloc iterators
Diffstat (limited to 'source/blender/modifiers/intern/MOD_build.c')
-rw-r--r-- | source/blender/modifiers/intern/MOD_build.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/source/blender/modifiers/intern/MOD_build.c b/source/blender/modifiers/intern/MOD_build.c index f30529bc40f..1dc1a1f8d64 100644 --- a/source/blender/modifiers/intern/MOD_build.c +++ b/source/blender/modifiers/intern/MOD_build.c @@ -86,7 +86,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), float frac; MPoly *mpoly_dst; MLoop *ml_dst, *ml_src /*, *mloop_dst */; - GHashIterator *hashIter; + GHashIterator gh_iter; /* maps vert indices in old mesh to indices in new mesh */ GHash *vertHash = BLI_ghash_int_new("build ve apply gh"); /* maps edge indices in new mesh to indices in old mesh */ @@ -230,15 +230,11 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), BLI_ghash_size(edgeHash), 0, numLoops_dst, numFaces_dst); /* copy the vertices across */ - for (hashIter = BLI_ghashIterator_new(vertHash); - BLI_ghashIterator_done(hashIter) == false; - BLI_ghashIterator_step(hashIter) - ) - { + GHASH_ITER (gh_iter, vertHash) { MVert source; MVert *dest; - int oldIndex = GET_INT_FROM_POINTER(BLI_ghashIterator_getKey(hashIter)); - int newIndex = GET_INT_FROM_POINTER(BLI_ghashIterator_getValue(hashIter)); + int oldIndex = GET_INT_FROM_POINTER(BLI_ghashIterator_getKey(&gh_iter)); + int newIndex = GET_INT_FROM_POINTER(BLI_ghashIterator_getValue(&gh_iter)); source = mvert_src[oldIndex]; dest = CDDM_get_vert(result, newIndex); @@ -246,7 +242,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), DM_copy_vert_data(dm, result, oldIndex, newIndex, 1); *dest = source; } - BLI_ghashIterator_free(hashIter); /* copy the edges across, remapping indices */ for (i = 0; i < BLI_ghash_size(edgeHash); i++) { |