Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-06-14 20:10:32 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-06-14 20:10:32 +0400
commit9161a4daa50f0b43ba2f6edf60a660b0b097b168 (patch)
tree681f9c2f769a91341af2980663d04840025451e5 /source/blender/modifiers
parentaa8f621dd92e1204de30f06fca87b7b3cccd8f79 (diff)
fix for own error in recent solitify refactor (r57402), face flip check was incorrect.
Diffstat (limited to 'source/blender/modifiers')
-rw-r--r--source/blender/modifiers/intern/MOD_solidify.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c
index 97f229439e6..8e2cecf6a48 100644
--- a/source/blender/modifiers/intern/MOD_solidify.c
+++ b/source/blender/modifiers/intern/MOD_solidify.c
@@ -310,22 +310,19 @@ static DerivedMesh *applyModifier(
}
for (i = 0, mp = orig_mpoly; i < numFaces; i++, mp++) {
- unsigned int ml_v1;
- unsigned int ml_v2;
int j;
ml = orig_mloop + mp->loopstart;
- for (j = 0, ml_v2 = ml[mp->totloop - 1].v;
- j < mp->totloop;
- j++, ml++, ml_v2 = ml_v1)
- {
- ml_v1 = ml->v;
+ for (j = 0; j < mp->totloop; j++, ml++) {
/* add edge user */
eidx = ml->e;
if (edge_users[eidx] == INVALID_UNUSED) {
+ unsigned int ml_v_next = (j + 1 != mp->totloop) ? ml[1].v : ml[-j].v;
ed = orig_medge + eidx;
- edge_users[eidx] = (ml_v1 < ml_v2) == (ed->v1 < ed->v2) ? i : (i + numFaces);
+ BLI_assert(ELEM(ml->v, ed->v1, ed->v2) &&
+ ELEM(ml_v_next, ed->v1, ed->v2));
+ edge_users[eidx] = (ml->v > ml_v_next) == (ed->v1 < ed->v2) ? i : (i + numFaces);
edge_order[eidx] = j;
}
else {