[Bf-blender-cvs] [9fe1db1d2b4] master: GPencil: Fix potential memory leak

Antonio Vazquez noreply at git.blender.org
Thu Dec 15 13:08:57 CET 2022


Commit: 9fe1db1d2b44854a6f98b2e213450fab34f8160a
Author: Antonio Vazquez
Date:   Thu Dec 15 13:08:46 2022 +0100
Branches: master
https://developer.blender.org/rB9fe1db1d2b44854a6f98b2e213450fab34f8160a

GPencil: Fix potential memory leak

If the layer was omitted there was a memory leak.

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

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 d4d072d7580..ad0f1f0dc34 100644
--- a/source/blender/editors/gpencil/gpencil_interpolate.c
+++ b/source/blender/editors/gpencil/gpencil_interpolate.c
@@ -486,21 +486,20 @@ static void gpencil_interpolate_set_points(bContext *C, tGPDinterpolate *tgpi)
       continue;
     }
 
-    /* create temp data for each layer */
-    tgpil = MEM_callocN(sizeof(tGPDinterpolate_layer), "GPencil Interpolate Layer");
-
-    tgpil->gpl = gpl;
-    bGPDframe *gpf = gpencil_get_previous_keyframe(gpl, scene->r.cfra, exclude_breakdowns);
-    if (gpf == NULL) {
+    bGPDframe *gpf_prv = gpencil_get_previous_keyframe(gpl, scene->r.cfra, exclude_breakdowns);
+    if (gpf_prv == NULL) {
       continue;
     }
-    tgpil->prevFrame = BKE_gpencil_frame_duplicate(gpf, true);
-
-    gpf = gpencil_get_next_keyframe(gpl, scene->r.cfra, exclude_breakdowns);
-    if (gpf == NULL) {
+    bGPDframe *gpf_next = gpencil_get_next_keyframe(gpl, scene->r.cfra, exclude_breakdowns);
+    if (gpf_next == NULL) {
       continue;
     }
-    tgpil->nextFrame = BKE_gpencil_frame_duplicate(gpf, true);
+
+    /* Create temp data for each layer. */
+    tgpil = MEM_callocN(sizeof(tGPDinterpolate_layer), "GPencil Interpolate Layer");
+    tgpil->gpl = gpl;
+    tgpil->prevFrame = BKE_gpencil_frame_duplicate(gpf_prv, true);
+    tgpil->nextFrame = BKE_gpencil_frame_duplicate(gpf_next, true);
 
     BLI_addtail(&tgpi->ilayers, tgpil);



More information about the Bf-blender-cvs mailing list