diff options
Diffstat (limited to 'source/blender/blenkernel/intern/displist.c')
-rw-r--r-- | source/blender/blenkernel/intern/displist.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c index 424d15f6a7e..3bb62f817cd 100644 --- a/source/blender/blenkernel/intern/displist.c +++ b/source/blender/blenkernel/intern/displist.c @@ -1220,10 +1220,20 @@ static ModifierData *curve_get_tesselate_point(Scene *scene, Object *ob, int for preTesselatePoint = NULL; for (; md; md=md->next) { + ModifierTypeInfo *mti = modifierType_getInfo(md->type); + if (!modifier_isEnabled(scene, md, required_mode)) continue; + if (mti->type == eModifierTypeType_Constructive) return preTesselatePoint; if (ELEM3(md->type, eModifierType_Hook, eModifierType_Softbody, eModifierType_MeshDeform)) { - preTesselatePoint = md; + preTesselatePoint = md; + + /* this modifiers are moving point of tesselation automatically + (some of them even can't be applied on tesselated curve), set flag + for incformation button in modifier's header */ + md->mode |= eModifierMode_ApplyOnSpline; + } else if(md->mode&eModifierMode_ApplyOnSpline) { + preTesselatePoint = md; } } |