From 49ab38bf54d4da95f0bb67a348c9305527d95983 Mon Sep 17 00:00:00 2001 From: Antonio Vazquez Date: Tue, 21 Sep 2021 17:29:19 +0200 Subject: Fix T91534: GPencil interpolate Sequence fails if stroke has 0 points In some cases the stroke has 0 points and this must be skipped in the interpolation. --- source/blender/editors/gpencil/gpencil_interpolate.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/blender/editors/gpencil/gpencil_interpolate.c b/source/blender/editors/gpencil/gpencil_interpolate.c index fdd9f44605e..d7cab85abad 100644 --- a/source/blender/editors/gpencil/gpencil_interpolate.c +++ b/source/blender/editors/gpencil/gpencil_interpolate.c @@ -316,6 +316,9 @@ static void gpencil_stroke_pair_table(bContext *C, if (ELEM(NULL, gps_from, gps_to)) { continue; } + if ((gps_from->totpoints == 0) || (gps_to->totpoints == 0)) { + continue; + } /* Insert the pair entry in the hash table and the list of strokes to keep order. */ BLI_addtail(&tgpil->selected_strokes, BLI_genericNodeN(gps_from)); BLI_ghash_insert(tgpil->pair_strokes, gps_from, gps_to); @@ -1333,6 +1336,9 @@ static int gpencil_interpolate_seq_exec(bContext *C, wmOperator *op) if (ELEM(NULL, gps_from, gps_to)) { continue; } + if ((gps_from->totpoints == 0) || (gps_to->totpoints == 0)) { + continue; + } /* if destination stroke is smaller, resize new_stroke to size of gps_to stroke */ if (gps_from->totpoints > gps_to->totpoints) { -- cgit v1.2.3