diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-01-29 20:55:57 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-01-29 20:55:57 +0400 |
commit | b820ec4ae4a62a05fc9ac6ca9c93a17128675407 (patch) | |
tree | e9379a8433f93fdbcd5e02596fefbb9941de0d95 | |
parent | d4584dfd23ab4880cc6e2f7f6d699ea3c9687d22 (diff) |
Fixed for cloth modifier when it's applied after deformation modifier.
-rw-r--r-- | source/blender/modifiers/intern/MOD_cloth.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c index 7e46d3f0fe3..fdb584ec592 100644 --- a/source/blender/modifiers/intern/MOD_cloth.c +++ b/source/blender/modifiers/intern/MOD_cloth.c @@ -84,6 +84,10 @@ static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData, } dm = get_dm(ob, NULL, derivedData, NULL, 0); + if(dm == derivedData) + dm = CDDM_copy(dm); + + CDDM_apply_vert_coords(dm, vertexCos); clothModifier_do(clmd, md->scene, ob, dm, vertexCos); @@ -92,8 +96,7 @@ static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData, result->release(result); } - if(dm != derivedData) - dm->release(dm); + dm->release(dm); } static void updateDepgraph( |