From dbc054bb8818b51c8148a9e245cd75e0198515a0 Mon Sep 17 00:00:00 2001 From: Antonio Vazquez Date: Tue, 22 Jun 2021 23:11:46 +0200 Subject: Fix T89374: Erasing/cutting in Grease Pencil makes Blender shut down When cut a stroke of 1 point, the clean up done to avoid keep 1 point strokes removes the memory, but the pointer to the first stroke was not set to NULL. As this pointer is invalid now, any use of this produces a segment fault because the pointer is corrupted.. --- source/blender/blenkernel/intern/gpencil_geom.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/blender/blenkernel/intern/gpencil_geom.c b/source/blender/blenkernel/intern/gpencil_geom.c index 7f839650f33..982fc2abd65 100644 --- a/source/blender/blenkernel/intern/gpencil_geom.c +++ b/source/blender/blenkernel/intern/gpencil_geom.c @@ -2984,6 +2984,9 @@ bGPDstroke *BKE_gpencil_stroke_delete_tagged_points(bGPdata *gpd, /* Add new stroke to the frame or delete if below limit */ if ((limit > 0) && (new_stroke->totpoints <= limit)) { + if (gps_first == new_stroke) { + gps_first = NULL; + } BKE_gpencil_free_stroke(new_stroke); } else { -- cgit v1.2.3