[Bf-blender-cvs] [f26a3f4] master: Fix T46227: ShapeKeys Lattice by the driver, problem updates in new depsgraph

Sergey Sharybin noreply at git.blender.org
Thu Sep 24 10:13:55 CEST 2015


Commit: f26a3f4bc59b7717f5d847a4b0c5bb6a9ba756a1
Author: Sergey Sharybin
Date:   Thu Sep 24 13:13:00 2015 +0500
Branches: master
https://developer.blender.org/rBf26a3f4bc59b7717f5d847a4b0c5bb6a9ba756a1

Fix T46227: ShapeKeys Lattice by the driver, problem updates in new depsgraph

The issue was caused by driver referencing path outside of the key datablock.

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

M	source/blender/depsgraph/intern/depsgraph_build_relations.cc

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

diff --git a/source/blender/depsgraph/intern/depsgraph_build_relations.cc b/source/blender/depsgraph/intern/depsgraph_build_relations.cc
index 649105a..c348ada 100644
--- a/source/blender/depsgraph/intern/depsgraph_build_relations.cc
+++ b/source/blender/depsgraph/intern/depsgraph_build_relations.cc
@@ -812,6 +812,10 @@ void DepsgraphRelationBuilder::build_driver(ID *id, FCurve *fcu)
 		ComponentKey geometry_key(shape_key->from, DEPSNODE_TYPE_GEOMETRY);
 		add_relation(driver_key, geometry_key, DEPSREL_TYPE_DRIVER, "[Driver -> ShapeKey Geom]");
 	}
+	else if (strstr(fcu->rna_path, "key_blocks[")) {
+		ComponentKey geometry_key(id, DEPSNODE_TYPE_GEOMETRY);
+		add_relation(driver_key, geometry_key, DEPSREL_TYPE_DRIVER, "[Driver -> ShapeKey Geom]");
+	}
 	else {
 		if (GS(id->name) == ID_OB) {
 			/* assume that driver affects a transform... */




More information about the Bf-blender-cvs mailing list