diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-12-17 09:02:52 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-12-17 09:02:52 +0300 |
commit | 4474782aa3a2f72dc59f9dd81bd534cbd921175b (patch) | |
tree | 28d78987c23297bb44917817ad56a24379ef03de /source/blender/editors/mesh | |
parent | 4558d45d460d5bd331cc58fc2f38c4fc87699a53 (diff) |
bugfix [#25260] Solidify function UV mapping problems
Diffstat (limited to 'source/blender/editors/mesh')
-rw-r--r-- | source/blender/editors/mesh/editmesh_lib.c | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/source/blender/editors/mesh/editmesh_lib.c b/source/blender/editors/mesh/editmesh_lib.c index b7ae0759f7e..acbd9a3bb3e 100644 --- a/source/blender/editors/mesh/editmesh_lib.c +++ b/source/blender/editors/mesh/editmesh_lib.c @@ -1391,27 +1391,22 @@ static short extrudeflag_edge(Object *obedit, EditMesh *em, short UNUSED(flag), if (efa->v4 && (efa->v4->tmp.v == NULL)) efa->v4->tmp.v = addvertlist(em, efa->v4->co, efa->v4); - if(del_old==0) { // keep old faces means flipping normal - if(efa->v4) - efan = addfacelist(em, efa->v4->tmp.v, efa->v3->tmp.v, - efa->v2->tmp.v, efa->v1->tmp.v, efa, efa); - else - efan = addfacelist(em, efa->v3->tmp.v, efa->v2->tmp.v, - efa->v1->tmp.v, NULL, efa, efa); - } - else { - if(efa->v4) - efan = addfacelist(em, efa->v1->tmp.v, efa->v2->tmp.v, - efa->v3->tmp.v, efa->v4->tmp.v, efa, efa); - else - efan = addfacelist(em, efa->v1->tmp.v, efa->v2->tmp.v, - efa->v3->tmp.v, NULL, efa, efa); + if(efa->v4) + efan = addfacelist(em, efa->v1->tmp.v, efa->v2->tmp.v, + efa->v3->tmp.v, efa->v4->tmp.v, efa, efa); + else + efan = addfacelist(em, efa->v1->tmp.v, efa->v2->tmp.v, + efa->v3->tmp.v, NULL, efa, efa); + + /* keep old faces means flipping normal, reverse vertex order gives bad UV's & VCols etc - [#25260] */ + if(del_old==0) { + flipface(em, efan); } - + if (em->act_face == efa) { em->act_face = efan; } - + /* for transform */ add_normal_aligned(nor, efa->n); } |