diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-02-24 18:03:28 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-02-24 18:03:28 +0300 |
commit | 6afd97b9afdf1d971b94a33e6337e267f4de628d (patch) | |
tree | 0b4d4269c8d6675ec4c0c860cdc2706871b8d84f /source | |
parent | de78240e1e0f0e5802b578a6b460d5d3943f165f (diff) |
multi-multi modifier support.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/modifier.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c index ff00dc9dc3c..65843c28402 100644 --- a/source/blender/blenkernel/intern/modifier.c +++ b/source/blender/blenkernel/intern/modifier.c @@ -353,15 +353,14 @@ static void latticeModifier_updateDepgraph(ModifierData *md, DagForest *forest, static void modifier_vgroup_cache(ModifierData *md, float (*vertexCos)[3]) { - md= md->next; - if(md) { - if(md->type==eModifierType_Armature) { - ArmatureModifierData *amd = (ArmatureModifierData*) md; - if(amd->multi) - amd->prevCos= MEM_dupallocN(vertexCos); - } - /* lattice/mesh modifier too */ + while((md=md->next) && md->type==eModifierType_Armature) { + ArmatureModifierData *amd = (ArmatureModifierData*) md; + if(amd->multi && amd->prevCos==NULL) + amd->prevCos= MEM_dupallocN(vertexCos); + else + break; } + /* lattice/mesh modifier too */ } |