diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-04-03 11:31:11 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-04-03 11:31:11 +0400 |
commit | 285970753ee81ef383bf74c59fa97987d90c5698 (patch) | |
tree | a10a386feb93208fbd503b70bd4446fc5854f3df /source/blender/editors/transform/transform.c | |
parent | 817a96f243490e8a1c0eb1dff19a45e73a7b9e8b (diff) |
fix/workaround an error related to [#30735]
when a single face in a loop is hidden, loop cut will subdivide edges on both sides.
creating an edge between the hidden faces.
without this workaround the edge ends up hidden and selected.
added a check in BM_mesh_validate() for hidden/selected elements.
Diffstat (limited to 'source/blender/editors/transform/transform.c')
-rw-r--r-- | source/blender/editors/transform/transform.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index f2e2d5dd281..374268dc735 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -4768,12 +4768,14 @@ void projectSVData(TransInfo *t, int final) } } - /*make sure face-attributes are correct (e.g. MTexPoly)*/ + /* make sure face-attributes are correct (e.g. MTexPoly) */ BM_elem_attrs_copy(em->bm, em->bm, copyf2, f); - /*restore selection and hidden flags*/ + /* restore selection and hidden flags */ BM_elem_select_set(em->bm, f, sel); - BM_elem_hide_set(em->bm, f, hide); + if (!hide) { /* this check is a workaround for bug, see note - [#30735], without this edge can be hidden and selected */ + BM_elem_hide_set(em->bm, f, hide); + } } } |