diff options
author | Antonioya <blendergit@gmail.com> | 2019-07-15 17:56:32 +0300 |
---|---|---|
committer | Antonioya <blendergit@gmail.com> | 2019-07-15 17:56:54 +0300 |
commit | 69aa5bba4f0ccd9e95ce2eb811e0f7089fbb5574 (patch) | |
tree | 10c91f6fce4584a87996cc3d12ecdca861f69241 /source/blender/editors/gpencil/gpencil_interpolate.c | |
parent | 8a5a8282ce48704e60e70cb02d747aede71e70b8 (diff) |
Fix T66941: GPencil wrong interpolation calculation for last keyframe
The range used for frames was wrong and the last keyframe was way off of the correct place.
Thanks to @MagnumOctopus for catching the bug.
Diffstat (limited to 'source/blender/editors/gpencil/gpencil_interpolate.c')
-rw-r--r-- | source/blender/editors/gpencil/gpencil_interpolate.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/editors/gpencil/gpencil_interpolate.c b/source/blender/editors/gpencil/gpencil_interpolate.c index 8a9f7c1224a..4d5548dcdf3 100644 --- a/source/blender/editors/gpencil/gpencil_interpolate.c +++ b/source/blender/editors/gpencil/gpencil_interpolate.c @@ -996,8 +996,9 @@ static int gpencil_interpolate_seq_exec(bContext *C, wmOperator *op) float factor; /* get interpolation factor */ - factor = (float)(cframe - prevFrame->framenum) / - (nextFrame->framenum - prevFrame->framenum + 1); + float framerange = nextFrame->framenum - prevFrame->framenum; + CLAMP_MIN(framerange, 1.0f); + factor = (float)(cframe - prevFrame->framenum) / framerange; if (ipo_settings->type == GP_IPO_CURVEMAP) { /* custom curvemap */ |