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
1 changed files with 14 additions and 0 deletions

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;