Mask: always add a new spline when adding a new vert
Previously, adding a new vertex with Ctrl-LMB would move an existing when there was an active spline but no active point. This function is used as a fallback, extending an existing active point is already handled.
This commit is contained in:
@@ -521,26 +521,17 @@ static bool add_vertex_new(const bContext *C, Mask *mask, MaskLayer *masklay, co
|
|||||||
const float ctime = CFRA;
|
const float ctime = CFRA;
|
||||||
|
|
||||||
MaskSpline *spline;
|
MaskSpline *spline;
|
||||||
MaskSplinePoint *point;
|
|
||||||
MaskSplinePoint *new_point = NULL, *ref_point = NULL;
|
MaskSplinePoint *new_point = NULL, *ref_point = NULL;
|
||||||
|
|
||||||
if (!masklay) {
|
if (!masklay) {
|
||||||
/* if there's no masklay currently operationg on, create new one */
|
/* if there's no masklay currently operationg on, create new one */
|
||||||
masklay = BKE_mask_layer_new(mask, "");
|
masklay = BKE_mask_layer_new(mask, "");
|
||||||
mask->masklay_act = mask->masklay_tot - 1;
|
mask->masklay_act = mask->masklay_tot - 1;
|
||||||
spline = NULL;
|
|
||||||
point = NULL;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
finSelectedSplinePoint(masklay, &spline, &point, true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ED_mask_select_toggle_all(mask, SEL_DESELECT);
|
ED_mask_select_toggle_all(mask, SEL_DESELECT);
|
||||||
|
|
||||||
if (!spline) {
|
spline = BKE_mask_spline_add(masklay);
|
||||||
/* no selected splines in active masklay, create new spline */
|
|
||||||
spline = BKE_mask_spline_add(masklay);
|
|
||||||
}
|
|
||||||
|
|
||||||
masklay->act_spline = spline;
|
masklay->act_spline = spline;
|
||||||
new_point = spline->points;
|
new_point = spline->points;
|
||||||
|
|||||||
Reference in New Issue
Block a user