Fix T70601: Lasso select not functioning correctly in Armature Edit Mode

This solution mimics the one used for pose by ignoring the bone line if either end is clipped.
This commit is contained in:
mano-wii
2019-10-08 16:45:24 -03:00
parent 576c782b11
commit 234f346c2f

View File

@@ -1020,10 +1020,12 @@ static void do_lasso_select_armature__doSelectBone(void *userData,
is_ignore_flag |= BONESEL_TIP;
}
if (is_inside_flag == (BONE_ROOTSEL | BONE_TIPSEL) ||
BLI_lasso_is_edge_inside(
data->mcords, data->moves, UNPACK2(screen_co_a), UNPACK2(screen_co_b), INT_MAX)) {
is_inside_flag |= BONESEL_BONE;
if (is_ignore_flag == 0) {
if (is_inside_flag == (BONE_ROOTSEL | BONE_TIPSEL) ||
BLI_lasso_is_edge_inside(
data->mcords, data->moves, UNPACK2(screen_co_a), UNPACK2(screen_co_b), INT_MAX)) {
is_inside_flag |= BONESEL_BONE;
}
}
ebone->temp.i = is_inside_flag | (is_ignore_flag >> 16);