[Bf-blender-cvs] [9ce8dfa] master: Fix T42324: Curve deform modifier from mesh edge doesnt work properly

Sergey Sharybin noreply at git.blender.org
Tue Oct 21 15:20:04 CEST 2014


Commit: 9ce8dfaf6a5ef406d37613f7ee921d0f1b53c94e
Author: Sergey Sharybin
Date:   Tue Oct 21 19:16:29 2014 +0600
Branches: master
https://developer.blender.org/rB9ce8dfaf6a5ef406d37613f7ee921d0f1b53c94e

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.

===================================================================

M	source/blender/editors/object/object_relations.c

===================================================================

diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c
index c8a009e..8f74278 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 */




More information about the Bf-blender-cvs mailing list