diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-09-30 11:58:38 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-09-30 11:58:38 +0400 |
commit | d6a52c67d56dddab35b04dd3dec7af58dd384df7 (patch) | |
tree | 817764815b322ccbeb78c5dd94478495f3484000 /source/blender/editors/space_view3d | |
parent | b21b24573d3538e893743d6bca233edba7b026b9 (diff) |
fix [#36861] In face select masking circle select selects all when out of focus.
Diffstat (limited to 'source/blender/editors/space_view3d')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_select.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c index c812f1084e2..8553791e229 100644 --- a/source/blender/editors/space_view3d/view3d_select.c +++ b/source/blender/editors/space_view3d/view3d_select.c @@ -2406,12 +2406,12 @@ static void paint_facesel_circle_select(ViewContext *vc, const bool select, cons { Object *ob = vc->obact; Mesh *me = ob ? ob->data : NULL; - /* int bbsel; */ /* UNUSED */ + bool bbsel; - if (me) { - bm_vertoffs = me->totpoly + 1; /* max index array */ + bm_vertoffs = me->totpoly + 1; /* max index array */ - /* bbsel = */ /* UNUSED */ EDBM_backbuf_circle_init(vc, mval[0], mval[1], (short)(rad + 1.0f)); + bbsel = EDBM_backbuf_circle_init(vc, mval[0], mval[1], (short)(rad + 1.0f)); + if (bbsel) { edbm_backbuf_check_and_select_tfaces(me, select); EDBM_backbuf_free(); paintface_flush_flags(ob); @@ -2431,15 +2431,17 @@ static void paint_vertsel_circle_select(ViewContext *vc, const bool select, cons const int use_zbuf = (vc->v3d->flag & V3D_ZBUF_SELECT); Object *ob = vc->obact; Mesh *me = ob->data; - /* int bbsel; */ /* UNUSED */ + bool bbsel; /* CircleSelectUserData data = {NULL}; */ /* UNUSED */ if (use_zbuf) { bm_vertoffs = me->totvert + 1; /* max index array */ - /* bbsel = */ /* UNUSED */ EDBM_backbuf_circle_init(vc, mval[0], mval[1], (short)(rad + 1.0f)); - edbm_backbuf_check_and_select_verts_obmode(me, select); - EDBM_backbuf_free(); + bbsel = EDBM_backbuf_circle_init(vc, mval[0], mval[1], (short)(rad + 1.0f)); + if (bbsel) { + edbm_backbuf_check_and_select_verts_obmode(me, select); + EDBM_backbuf_free(); + } } else { CircleSelectUserData data; |