From 285970753ee81ef383bf74c59fa97987d90c5698 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 3 Apr 2012 07:31:11 +0000 Subject: 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. --- source/blender/editors/transform/transform.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'source/blender/editors/transform') 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); + } } } -- cgit v1.2.3