diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-05-07 19:04:16 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-05-07 19:04:16 +0300 |
commit | 56f7b4616a4af9ee8ea3bf78bb2913afdb6bcb54 (patch) | |
tree | b277155510f31b3f5a4ddfc948d13d5f45aea519 /source/blender | |
parent | b49184b608df297195c5f0e81da4d8d9ddfb9213 (diff) | |
parent | c09e22306add3e0e1fdff6171eb21e4fde18019e (diff) |
Merge branch 'master' into blender2.8
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/intern/modifier.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c index 29a4fcbb9c7..54e5848c2e6 100644 --- a/source/blender/blenkernel/intern/modifier.c +++ b/source/blender/blenkernel/intern/modifier.c @@ -293,6 +293,13 @@ void modifiers_foreachTexLink(Object *ob, TexWalkFunc walk, void *userData) void modifier_copyData_generic(const ModifierData *md_src, ModifierData *md_dst) { const ModifierTypeInfo *mti = modifierType_getInfo(md_src->type); + + /* md_dst may have alredy be fully initialized with some extra allocated data, + * we need to free it now to avoid memleak. */ + if (mti->freeData) { + mti->freeData(md_dst); + } + const size_t data_size = sizeof(ModifierData); const char *md_src_data = ((const char *)md_src) + data_size; char *md_dst_data = ((char *)md_dst) + data_size; |