diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2017-05-10 11:31:33 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2017-05-10 21:35:59 +0300 |
commit | 42c346028f535968dfb90ca446e794dd2bc874f9 (patch) | |
tree | 299abdcfd0172e7798bb8d40e51c64c334f65807 /source/blender/depsgraph/intern | |
parent | 8246246bda2f04af9dbeb6eb17b9622051419716 (diff) |
Fix missing relation in new DEG between World and its NodeTree.
Was preventing update in 3DView etc. when changing something in the
World's NodeTree, especially annoying in blender2.8 branch (since legacy
depsgraph has been removed there), but also affecting master.
Diffstat (limited to 'source/blender/depsgraph/intern')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_nodes.cc | 9 | ||||
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations.cc | 8 |
2 files changed, 12 insertions, 5 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index 7df9fe0bdc8..bd07bf449ae 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@ -653,12 +653,13 @@ void DepsgraphNodeBuilder::build_world(World *world) return; } - /* world itself */ - add_id_node(world_id); /* world shading/params? */ - build_animdata(world_id); - /* TODO: other settings? */ + /* world itself */ + add_component_node(world_id, DEPSNODE_TYPE_PARAMETERS); + + add_operation_node(world_id, DEPSNODE_TYPE_PARAMETERS, DEPSOP_TYPE_EXEC, NULL, + DEG_OPCODE_PLACEHOLDER, "Parameters Eval"); /* textures */ build_texture_stack(world->mtex); diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index 2dae3daaab2..d66ab5b1e68 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -1129,7 +1129,13 @@ void DepsgraphRelationBuilder::build_world(World *world) build_texture_stack(world->mtex); /* world's nodetree */ - build_nodetree(world->nodetree); + if (world->nodetree != NULL) { + build_nodetree(world->nodetree); + ComponentKey ntree_key(&world->nodetree->id, DEPSNODE_TYPE_PARAMETERS); + ComponentKey world_key(world_id, DEPSNODE_TYPE_PARAMETERS); + add_relation(ntree_key, world_key, + DEPSREL_TYPE_COMPONENT_ORDER, "NTree->World Parameters"); + } } void DepsgraphRelationBuilder::build_rigidbody(Scene *scene) |