From 9ce8dfaf6a5ef406d37613f7ee921d0f1b53c94e Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 21 Oct 2014 19:16:29 +0600 Subject: 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. --- source/blender/editors/object/object_relations.c | 3 +++ 1 file changed, 3 insertions(+) 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 */ -- cgit v1.2.3