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:
authorDalai Felinto <dfelinto@gmail.com>2018-05-23 20:33:25 +0300
committerDalai Felinto <dfelinto@gmail.com>2018-05-23 21:05:17 +0300
commit401e975c617973796a16ea73f2f96924c6bfad32 (patch)
treea91b42a507dd7e8fd8d2ca1fdeccb4ac0cfb14a2 /source/blender/depsgraph
parent933a0835875c71dc177227c87e8bbe281f0a7f55 (diff)
Fix curve not updating when scaling Bevel Object
Note the relationship we need is from the geometry/object to the curve data, not the curve object. Related to T55167, though when copy-on-write is enabled, we still get a crash.
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_relations.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index 10edc17e94e..900d9cfd1cf 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -1792,9 +1792,12 @@ void DepsgraphRelationBuilder::build_obdata_geom(Object *object)
/* curve's dependencies */
// XXX: these needs geom data, but where is geom stored?
if (cu->bevobj) {
- ComponentKey bevob_key(&cu->bevobj->id, DEG_NODE_TYPE_GEOMETRY);
+ ComponentKey bevob_geom_key(&cu->bevobj->id, DEG_NODE_TYPE_GEOMETRY);
+ add_relation(bevob_geom_key, obdata_geom_key, "Curve Bevel Geometry");
+ /* We only need scale, but we can't tag individual TRANSFORM components. */
+ ComponentKey bevob_key(&cu->bevobj->id, DEG_NODE_TYPE_TRANSFORM);
+ add_relation(bevob_key, obdata_geom_key, "Curve Bevel Scale");
build_object(NULL, cu->bevobj);
- add_relation(bevob_key, geom_key, "Curve Bevel");
}
if (cu->taperobj) {
ComponentKey taperob_key(&cu->taperobj->id, DEG_NODE_TYPE_GEOMETRY);