diff options
author | Daniel Stokes <kupomail@gmail.com> | 2013-10-14 00:59:55 +0400 |
---|---|---|
committer | Daniel Stokes <kupomail@gmail.com> | 2013-10-14 00:59:55 +0400 |
commit | 0aa392d2ff4cc29f2e53485a6456a7deb838e1bb (patch) | |
tree | 50aa44367f0df077be6115c1f9deb85656018d4d /source/blender/blenkernel/intern/modifier.c | |
parent | 6167313105cd0b65ba777459ce9333ac51e0cb3b (diff) | |
parent | 2ce3bd0d672e7e26e1a8710444872ad6478a7565 (diff) |
Merged revisions 60248-60717 from trunk/blendersoc-2013-bge
Diffstat (limited to 'source/blender/blenkernel/intern/modifier.c')
-rw-r--r-- | source/blender/blenkernel/intern/modifier.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c index 780bd9733f5..4871b9bf3bf 100644 --- a/source/blender/blenkernel/intern/modifier.c +++ b/source/blender/blenkernel/intern/modifier.c @@ -593,21 +593,21 @@ bool modifiers_usesArmature(Object *ob, bArmature *arm) bool modifier_isCorrectableDeformed(ModifierData *md) { - if (md->type == eModifierType_Armature) - return true; - if (md->type == eModifierType_ShapeKey) - return true; - - return false; + ModifierTypeInfo *mti = modifierType_getInfo(md->type); + return (mti->deformMatricesEM != NULL); } -bool modifiers_isCorrectableDeformed(Object *ob) +bool modifiers_isCorrectableDeformed(struct Scene *scene, Object *ob) { VirtualModifierData virtualModifierData; ModifierData *md = modifiers_getVirtualModifierList(ob, &virtualModifierData); + int required_mode = eModifierMode_Realtime; + + if (ob->mode == OB_MODE_EDIT) + required_mode |= eModifierMode_Editmode; for (; md; md = md->next) { - if (ob->mode == OB_MODE_EDIT && (md->mode & eModifierMode_Editmode) == 0) { + if (!modifier_isEnabled(scene, md, required_mode)) { /* pass */ } else if (modifier_isCorrectableDeformed(md)) { |