[Bf-blender-cvs] [77e66d630a2] blender-v3.3-release: GPencil: Fix unreported interpolate crash if no frames

Antonio Vazquez noreply at git.blender.org
Thu Jan 12 15:31:55 CET 2023


Commit: 77e66d630a28032672619ea76b96328a241f1e9f
Author: Antonio Vazquez
Date:   Wed Dec 7 17:23:30 2022 +0100
Branches: blender-v3.3-release
https://developer.blender.org/rB77e66d630a28032672619ea76b96328a241f1e9f

GPencil: Fix unreported interpolate crash if no frames

If there is a layer that hasn't frames but is not the active layer
the pointer to frames can be NULL and crash.

Now, the empty layers are skipped.

Reported to me by Samuel Bernou.

===================================================================

M	source/blender/editors/gpencil/gpencil_interpolate.c

===================================================================

diff --git a/source/blender/editors/gpencil/gpencil_interpolate.c b/source/blender/editors/gpencil/gpencil_interpolate.c
index bf6616638c4..72dbe45b580 100644
--- a/source/blender/editors/gpencil/gpencil_interpolate.c
+++ b/source/blender/editors/gpencil/gpencil_interpolate.c
@@ -483,10 +483,17 @@ static void gpencil_interpolate_set_points(bContext *C, tGPDinterpolate *tgpi)
     tgpil = MEM_callocN(sizeof(tGPDinterpolate_layer), "GPencil Interpolate Layer");
 
     tgpil->gpl = gpl;
+
     bGPDframe *gpf = gpencil_get_previous_keyframe(gpl, scene->r.cfra);
+    if (gpf == NULL) {
+      continue;
+    }
     tgpil->prevFrame = BKE_gpencil_frame_duplicate(gpf, true);
 
     gpf = gpencil_get_next_keyframe(gpl, scene->r.cfra);
+    if (gpf == NULL) {
+      continue;
+    }
     tgpil->nextFrame = BKE_gpencil_frame_duplicate(gpf, true);
 
     BLI_addtail(&tgpi->ilayers, tgpil);



More information about the Bf-blender-cvs mailing list