Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Vazquez <blendergit@gmail.com>2022-04-08 13:18:15 +0300
committerAntonio Vazquez <blendergit@gmail.com>2022-04-08 13:18:27 +0300
commitaa1e8bb9ab925a436fd832bdb958bef8dbcf3164 (patch)
treedc8ae8fe47ccda42d39f1c585ac082008c5cc3a3 /source/blender/blenkernel/intern/gpencil.c
parentaa46a67634930786dd721e4cc8b140c7055118bc (diff)
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.
Diffstat (limited to 'source/blender/blenkernel/intern/gpencil.c')
-rw-r--r--source/blender/blenkernel/intern/gpencil.c2
1 files changed, 1 insertions, 1 deletions
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);
}