Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2014-10-21 17:16:29 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-10-21 17:16:29 +0400
commit9ce8dfaf6a5ef406d37613f7ee921d0f1b53c94e (patch)
treeaf891dc09a35e436e39fdcb7cc1222e44a044628
parent64dc1fd4082baaf7064505d8aff679ffabede8c3 (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.
-rw-r--r--source/blender/editors/object/object_relations.c3
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 */