From 0a3b44ed64c134aaa8e2c3e96218fa53737d8bdc Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Fri, 3 Nov 2023 09:42:41 +0100 Subject: [PATCH] Fix #114358: Trace Image to Grease Pencil misses first frame in sequence Off by one when it comes to setting `ImageUser` > `framenr` Pull Request: https://projects.blender.org/blender/blender/pulls/114365 --- source/blender/editors/gpencil_legacy/gpencil_trace_ops.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/blender/editors/gpencil_legacy/gpencil_trace_ops.cc b/source/blender/editors/gpencil_legacy/gpencil_trace_ops.cc index 0ff331b9eff..da81628acd0 100644 --- a/source/blender/editors/gpencil_legacy/gpencil_trace_ops.cc +++ b/source/blender/editors/gpencil_legacy/gpencil_trace_ops.cc @@ -234,7 +234,7 @@ static void trace_start_job(void *customdata, bool *stop, bool *do_update, float /* Image sequence. */ else if (trace_job->image->type == IMA_TYPE_IMAGE) { ImageUser *iuser = trace_job->ob_active->iuser; - for (int i = init_frame; i < iuser->frames; i++) { + for (int i = init_frame; i <= iuser->frames; i++) { if (G.is_break) { trace_job->was_canceled = true; break; @@ -243,7 +243,7 @@ static void trace_start_job(void *customdata, bool *stop, bool *do_update, float *(trace_job->progress) = float(i) / float(iuser->frames); *do_update = true; - iuser->framenr = i + 1; + iuser->framenr = i; void *lock; ImBuf *ibuf = BKE_image_acquire_ibuf(trace_job->image, iuser, &lock);