diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-10-21 17:16:29 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-10-21 17:16:29 +0400 |
commit | 9ce8dfaf6a5ef406d37613f7ee921d0f1b53c94e (patch) | |
tree | af891dc09a35e436e39fdcb7cc1222e44a044628 /source | |
parent | 64dc1fd4082baaf7064505d8aff679ffabede8c3 (diff) |
Fix T42324: Curve deform modifier from mesh edge doesnt work properly
Curve parent requires valid path to exist for curve. If the path is disabled in
the curve settings, displist evaluation will check the dependency graph whether
the path is needed for parenting.
The issue was that changing relations in the scene chagned need of the curve path
but nothing tagged the curve to update it's path.
For now use direct call of DAG_id_tag_update from set_parent(). In the bright
future we might detect such a need in flush automatically in the depsgraph.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/object/object_relations.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c index c8a009e4129..8f74278b424 100644 --- a/source/blender/editors/object/object_relations.c +++ b/source/blender/editors/object/object_relations.c @@ -699,6 +699,9 @@ bool ED_object_parent_set(ReportList *reports, Main *bmain, Scene *scene, Object if (md) { ((CurveModifierData *)md)->object = par; } + if (par->curve_cache && par->curve_cache->path == NULL) { + DAG_id_tag_update(&par->id, OB_RECALC_DATA); + } } break; case PAR_LATTICE: /* lattice deform */ |