From aa1e8bb9ab925a436fd832bdb958bef8dbcf3164 Mon Sep 17 00:00:00 2001 From: Antonio Vazquez Date: Fri, 8 Apr 2022 12:18:15 +0200 Subject: Fix T97150: Export GPencil to PDF or SVG crashes blender The problem was the original file had some vertex weight information, but the weights array was empty, so the duplication was not done and the free memory crashed. To avoid this type of errors, now before duplicate weights the function checks the pointer and also the number of weights elements in the array to avoid the duplicatiopn of empty data. --- source/blender/blenkernel/intern/gpencil.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c index 92ed273cac8..087d8b8fcd4 100644 --- a/source/blender/blenkernel/intern/gpencil.c +++ b/source/blender/blenkernel/intern/gpencil.c @@ -867,7 +867,7 @@ bGPDstroke *BKE_gpencil_stroke_duplicate(bGPDstroke *gps_src, if (dup_points) { gps_dst->points = MEM_dupallocN(gps_src->points); - if (gps_src->dvert != NULL) { + if ((gps_src->dvert != NULL) && (gps_src->dvert->totweight > 0)) { gps_dst->dvert = MEM_dupallocN(gps_src->dvert); BKE_gpencil_stroke_weights_duplicate(gps_src, gps_dst); } -- cgit v1.2.3