diff options
author | Jacques Lucke <mail@jlucke.com> | 2019-01-14 16:10:33 +0300 |
---|---|---|
committer | Jacques Lucke <mail@jlucke.com> | 2019-01-14 16:10:33 +0300 |
commit | ec3e2b0ce5a056ca53c37a07d24d86e31f4d2e97 (patch) | |
tree | 45ea98a21ddd754b4a2bcdf0461aec5a271f9f11 | |
parent | 67c541270838ea1b4851dd3b6bfeb0be1a2f7530 (diff) |
Fix T60304, T60301: setting error message in bevel modifier results in double free
-rw-r--r-- | source/blender/modifiers/intern/MOD_bevel.c | 7 |
1 files changed, 5 insertions, 2 deletions
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; |