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:
Diffstat (limited to 'source/blender/blenkernel/intern/DerivedMesh.c')
-rw-r--r--source/blender/blenkernel/intern/DerivedMesh.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index e33de2baf8d..3b00fb034a0 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -1309,14 +1309,18 @@ static void mesh_calc_modifiers(Object *ob, float (*inputVertexCos)[3], DerivedM
* by the modifier apply function, which will also free the DerivedMesh if
* it exists.
*/
- dm = mti->applyModifier(md, ob, dm, deformedVerts, useRenderParams, !inputVertexCos);
+ DerivedMesh *ndm = mti->applyModifier(md, ob, dm, deformedVerts, useRenderParams, !inputVertexCos);
- if (deformedVerts) {
- if (deformedVerts!=inputVertexCos) {
- MEM_freeN(deformedVerts);
+ if (ndm) {
+ dm = ndm;
+
+ if (deformedVerts) {
+ if (deformedVerts!=inputVertexCos) {
+ MEM_freeN(deformedVerts);
+ }
+ deformedVerts = NULL;
}
- deformedVerts = NULL;
- }
+ }
}
}