diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2016-05-11 11:51:10 +0300 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2016-05-11 11:53:11 +0300 |
commit | 18e5e2fa1ac26ccbbd0cc8b486a5d92be6888021 (patch) | |
tree | ee5662aac9bef92b35c1180935258f0c6a0e4f89 /source | |
parent | b4b269f38e6dbf45f97d2b80e6a4d7f787d85192 (diff) |
Fix for node tree ID tagging in new depsgraph.
Nested node trees are not handled in BKE_main_id_tag_all.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/depsgraph/intern/depsgraph_build_nodes.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/depsgraph_build_nodes.cc b/source/blender/depsgraph/intern/depsgraph_build_nodes.cc index 80961a687cd..be706ffb338 100644 --- a/source/blender/depsgraph/intern/depsgraph_build_nodes.cc +++ b/source/blender/depsgraph/intern/depsgraph_build_nodes.cc @@ -248,6 +248,13 @@ void DepsgraphNodeBuilder::build_scene(Main *bmain, Scene *scene) * needed. */ BKE_main_id_tag_all(bmain, LIB_TAG_DOIT, false); + /* XXX nested node trees are not included in tag-clearing above, + * so we need to do this manually. + */ + FOREACH_NODETREE(bmain, nodetree, id) { + if (id != (ID *)nodetree) + nodetree->id.tag &= ~LIB_TAG_DOIT; + } FOREACH_NODETREE_END /* scene ID block */ add_id_node(&scene->id); |