diff options
Diffstat (limited to 'source/blender/editors/mesh/editface.c')
-rw-r--r-- | source/blender/editors/mesh/editface.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/source/blender/editors/mesh/editface.c b/source/blender/editors/mesh/editface.c index 7ac27e038a4..7ddf2b54a88 100644 --- a/source/blender/editors/mesh/editface.c +++ b/source/blender/editors/mesh/editface.c @@ -181,11 +181,17 @@ void paintface_reveal(Object *ob) static void hash_add_face(EdgeHash *ehash, MPoly *mp, MLoop *mloop) { - MLoop *ml; - int i; + MLoop *ml, *ml_next; + int i = mp->totloop; + + ml_next = mloop; /* first loop */ + ml = &ml_next[i - 1]; /* last loop */ + + while (i-- != 0) { + BLI_edgehash_insert(ehash, ml->v, ml_next->v, NULL); - for (i = 0, ml = mloop; i < mp->totloop; i++, ml++) { - BLI_edgehash_insert(ehash, ml->v, ME_POLY_LOOP_NEXT(mloop, mp, i)->v, NULL); + ml = ml_next; + ml_next++; } } |