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>2010-12-17 09:02:52 +0300
committerCampbell Barton <ideasman42@gmail.com>2010-12-17 09:02:52 +0300
commit4474782aa3a2f72dc59f9dd81bd534cbd921175b (patch)
tree28d78987c23297bb44917817ad56a24379ef03de /source/blender/editors/mesh
parent4558d45d460d5bd331cc58fc2f38c4fc87699a53 (diff)
bugfix [#25260] Solidify function UV mapping problems
Diffstat (limited to 'source/blender/editors/mesh')
-rw-r--r--source/blender/editors/mesh/editmesh_lib.c29
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);
}