diff options
author | Antonio Vazquez <blendergit@gmail.com> | 2020-04-25 11:41:44 +0300 |
---|---|---|
committer | Antonio Vazquez <blendergit@gmail.com> | 2020-04-25 11:41:44 +0300 |
commit | 78887318e2c45ed38c23f6acc5313c8a442dc796 (patch) | |
tree | 0bd0225639f75f2b4031d942544c859a066b8b64 /source | |
parent | 2b95f2439e8e5f34e0fb9642c2e44e6f43513e63 (diff) | |
parent | 53106934f97d5a41a38a2f597c4165837b51b1c6 (diff) |
Merge branch 'blender-v2.83-release'
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/gpencil/gpencil_interpolate.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/source/blender/editors/gpencil/gpencil_interpolate.c b/source/blender/editors/gpencil/gpencil_interpolate.c index e6661e886b1..b6e84205815 100644 --- a/source/blender/editors/gpencil/gpencil_interpolate.c +++ b/source/blender/editors/gpencil/gpencil_interpolate.c @@ -134,6 +134,19 @@ static void gp_interpolate_free_temp_strokes(bGPDframe *gpf) } } } + +/* Helper: Untag all strokes. */ +static void gp_interpolate_untag_strokes(bGPDframe *gpf) +{ + BLI_assert(gpf != NULL); + + LISTBASE_FOREACH (bGPDstroke *, gps, &gpf->strokes) { + if (gps->flag & GP_STROKE_TAG) { + gps->flag &= ~GP_STROKE_TAG; + } + } +} + /* Helper: Update all strokes interpolated */ static void gp_interpolate_update_strokes(bContext *C, tGPDinterpolate *tgpi) { @@ -265,6 +278,10 @@ static void gp_interpolate_set_points(bContext *C, tGPDinterpolate *tgpi) tgpil->prevFrame = gpl->actframe; tgpil->nextFrame = gpl->actframe->next; + /* Untag interpolated strokes to be sure nothing is pending. */ + gp_interpolate_untag_strokes(tgpil->prevFrame); + gp_interpolate_untag_strokes(tgpil->nextFrame); + BLI_addtail(&tgpi->ilayers, tgpil); /* create a new temporary frame */ |