[Bf-blender-cvs] [ab6a011b3bd] master: GPencil: Fix memory leak in trim and split functions.

YimingWu noreply at git.blender.org
Mon Jul 5 13:57:35 CEST 2021


Commit: ab6a011b3bd21ff12bf66bb5cf4c2a0c6617f86c
Author: YimingWu
Date:   Mon Jul 5 19:55:26 2021 +0800
Branches: master
https://developer.blender.org/rBab6a011b3bd21ff12bf66bb5cf4c2a0c6617f86c

GPencil: Fix memory leak in trim and split functions.

`dvert->dw` from old strokes are not freed properly, fixed.

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

M	source/blender/blenkernel/intern/gpencil_geom.c

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

diff --git a/source/blender/blenkernel/intern/gpencil_geom.c b/source/blender/blenkernel/intern/gpencil_geom.c
index 426e880e266..4dcd94fdeec 100644
--- a/source/blender/blenkernel/intern/gpencil_geom.c
+++ b/source/blender/blenkernel/intern/gpencil_geom.c
@@ -634,6 +634,7 @@ bool BKE_gpencil_stroke_trim_points(bGPDstroke *gps, const int index_from, const
         new_dv[i].dw[j].weight = dv->dw[j].weight;
         new_dv[i].dw[j].def_nr = dv->dw[j].def_nr;
       }
+      BKE_defvert_clear(dv);
     }
     MEM_freeN(gps->dvert);
     gps->dvert = new_dv;
@@ -696,6 +697,7 @@ bool BKE_gpencil_stroke_split(bGPdata *gpd,
         new_dv[i].dw[j].weight = dv->dw[j].weight;
         new_dv[i].dw[j].def_nr = dv->dw[j].def_nr;
       }
+      BKE_defvert_clear(dv);
     }
     new_gps->dvert = new_dv;
   }



More information about the Bf-blender-cvs mailing list