Fix T50855: Intersect (knife) w/o separate doesn't select

This commit is contained in:
Campbell Barton 2017-03-05 22:23:12 +11:00
parent f75b52eca1
commit 3caeb51d7f
4 changed files with 6 additions and 5 deletions

@ -986,7 +986,7 @@ bool BM_mesh_intersect(
struct BMLoop *(*looptris)[3], const int looptris_tot,
int (*test_fn)(BMFace *f, void *user_data), void *user_data,
const bool use_self, const bool use_separate, const bool use_dissolve, const bool use_island_connect,
const int boolean_mode,
const bool use_edge_tag, const int boolean_mode,
const float eps)
{
struct ISectState s;
@ -1526,7 +1526,7 @@ bool BM_mesh_intersect(
BM_mesh_edgesplit(bm, false, true, false);
}
else if (boolean_mode != BMESH_ISECT_BOOLEAN_NONE) {
else if (boolean_mode != BMESH_ISECT_BOOLEAN_NONE || use_edge_tag) {
GSetIterator gs_iter;
/* no need to clear for boolean */

@ -30,7 +30,7 @@ bool BM_mesh_intersect(
struct BMLoop *(*looptris)[3], const int looptris_tot,
int (*test_fn)(BMFace *f, void *user_data), void *user_data,
const bool use_self, const bool use_separate, const bool use_dissolve, const bool use_island_connect,
const int boolean_mode,
const bool use_edge_tag, const int boolean_mode,
const float eps);
enum {

@ -165,7 +165,7 @@ static int edbm_intersect_exec(bContext *C, wmOperator *op)
bm,
em->looptris, em->tottri,
test_fn, NULL,
use_self, use_separate, true, true,
use_self, use_separate, true, true, true,
-1,
eps);
@ -239,7 +239,7 @@ static int edbm_intersect_boolean_exec(bContext *C, wmOperator *op)
bm,
em->looptris, em->tottri,
test_fn, NULL,
false, false, true, true,
false, false, true, true, true,
boolean_operation,
eps);

@ -319,6 +319,7 @@ static DerivedMesh *applyModifier_bmesh(
use_separate,
use_dissolve,
use_island_connect,
false,
bmd->operation,
bmd->double_threshold);