From ec3e2b0ce5a056ca53c37a07d24d86e31f4d2e97 Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Mon, 14 Jan 2019 14:10:33 +0100 Subject: Fix T60304, T60301: setting error message in bevel modifier results in double free --- source/blender/modifiers/intern/MOD_bevel.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'source/blender/modifiers') diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c index 6eee697a739..319b6c5a60b 100644 --- a/source/blender/modifiers/intern/MOD_bevel.c +++ b/source/blender/modifiers/intern/MOD_bevel.c @@ -74,12 +74,13 @@ static void initData(ModifierData *md) bmd->clnordata.faceHash = NULL; } -static void copyData(const ModifierData *md_src, ModifierData *md_dst, const int UNUSED(flag)) +static void copyData(const ModifierData *md_src, ModifierData *md_dst, const int flag) { BevelModifierData *bmd_src = (BevelModifierData *)md_src; BevelModifierData *bmd_dst = (BevelModifierData *)md_dst; - *bmd_dst = *bmd_src; + modifier_copyData_generic(md_src, md_dst, flag); + bmd_dst->clnordata.faceHash = NULL; } @@ -99,6 +100,8 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) */ static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh) { + // modifier_setError(md, "Hello world"); + // return BKE_mesh_new_nomain(0, 0, 0, 0, 0); Mesh *result; BMesh *bm; BMIter iter; -- cgit v1.2.3