diff options
author | Campbell Barton <campbell@blender.org> | 2022-02-15 11:48:14 +0300 |
---|---|---|
committer | Campbell Barton <campbell@blender.org> | 2022-02-15 11:49:02 +0300 |
commit | 7083ea36e20a8364a37dc4a21d9a02002c80a8da (patch) | |
tree | 74153e3457a6ad357ef935ee08d337546826763d /source | |
parent | d1c7a252eb319e418afb6331caa8813cb0848495 (diff) |
Fix T94085: Crash with empty stroke list
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/curve/editcurve_paint.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/editors/curve/editcurve_paint.c b/source/blender/editors/curve/editcurve_paint.c index 403ace56e3b..e56eaeb8295 100644 --- a/source/blender/editors/curve/editcurve_paint.c +++ b/source/blender/editors/curve/editcurve_paint.c @@ -588,6 +588,14 @@ static bool curve_draw_init(bContext *C, wmOperator *op, bool is_invoke) cdd->vc.scene = CTX_data_scene(C); cdd->vc.view_layer = CTX_data_view_layer(C); cdd->vc.obedit = CTX_data_edit_object(C); + + /* Using an empty stroke complicates logic later, + * it's simplest to disallow early on (see: T94085). */ + if (RNA_collection_length(op->ptr, "stroke") == 0) { + MEM_freeN(cdd); + BKE_report(op->reports, RPT_ERROR, "The \"stroke\" cannot be empty"); + return false; + } } op->customdata = cdd; |