diff options
author | Sybren A. Stüvel <sybren@stuvel.eu> | 2018-04-25 13:21:07 +0300 |
---|---|---|
committer | Sybren A. Stüvel <sybren@stuvel.eu> | 2018-05-01 19:02:17 +0300 |
commit | 4211d02ab5685f73da6a85a0c130ccf704c66de8 (patch) | |
tree | 8b92fea86048101441cdeb888429bd84fcc581b1 /source/blender/blenkernel/intern/modifier.c | |
parent | eb6fc05f25d669eab8f0f8c0d19bb92addd1033d (diff) |
Modifiers: Mirror DerivedMesh → Mesh
Diffstat (limited to 'source/blender/blenkernel/intern/modifier.c')
-rw-r--r-- | source/blender/blenkernel/intern/modifier.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c index 3caa3a032ff..42ebce44b07 100644 --- a/source/blender/blenkernel/intern/modifier.c +++ b/source/blender/blenkernel/intern/modifier.c @@ -1124,13 +1124,12 @@ struct DerivedMesh *modifier_applyModifier_DM_deprecated(struct ModifierData *md struct Mesh *new_mesh = mti->applyModifier(md, depsgraph, ob, mesh, flag); DerivedMesh *ndm = CDDM_from_mesh(new_mesh); - if(new_mesh != mesh) { - /* Make a DM that doesn't reference new_mesh so we can free the latter. */ - /* TODO(sybren): create CDDM_from_mesh_ex() that creates a copy directly. */ - DerivedMesh *nonref_dm = CDDM_copy(ndm); - ndm->release(ndm); - ndm = nonref_dm; + /* Make a DM that doesn't reference new_mesh so we can free the latter. */ + /* TODO(sybren): create CDDM_from_mesh_ex() that creates a copy directly. */ + DerivedMesh *nonref_dm = CDDM_copy(ndm); + ndm->release(ndm); + if(new_mesh != mesh) { BKE_mesh_free(new_mesh); MEM_freeN(new_mesh); } @@ -1139,7 +1138,7 @@ struct DerivedMesh *modifier_applyModifier_DM_deprecated(struct ModifierData *md MEM_freeN(mesh); } - return ndm; + return nonref_dm; } } |