GPencil: Deactivate interpolation of gpencil curves

To avoid unexpected behavior and desync issues with
stroke and curve data, the interpolation operators are deactivated
in curve edit mode.
This commit is contained in:
Falk David
2021-01-21 21:58:39 +01:00
parent ceb500df03
commit f24992d2ec

View File

@@ -554,6 +554,13 @@ static int gpencil_interpolate_invoke(bContext *C, wmOperator *op, const wmEvent
return OPERATOR_CANCELLED;
}
if (GPENCIL_CURVE_EDIT_SESSIONS_ON(gpd)) {
BKE_report(op->reports,
RPT_ERROR,
"Cannot interpolate in curve edit mode");
return OPERATOR_CANCELLED;
}
/* need editable strokes */
if (!gpencil_interpolate_check_todo(C, gpd)) {
BKE_report(op->reports, RPT_ERROR, "Interpolation requires some editable strokes");
@@ -978,6 +985,13 @@ static int gpencil_interpolate_seq_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
if (GPENCIL_CURVE_EDIT_SESSIONS_ON(gpd)) {
BKE_report(op->reports,
RPT_ERROR,
"Cannot interpolate in curve edit mode");
return OPERATOR_CANCELLED;
}
/* loop all layer to check if need interpolation */
LISTBASE_FOREACH (bGPDlayer *, gpl, &gpd->layers) {
bGPDframe *prevFrame, *nextFrame;