diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-05-29 13:48:59 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-05-29 13:50:04 +0300 |
commit | b0278b24868d7cd6326577fcbae5ace13a0e9200 (patch) | |
tree | d5fab531bc4241fa8c3aaffefdd2873d53b8e26b /source | |
parent | d6b340b99962f90fa5c5af405ef5317da529085e (diff) |
Depsgraph: Fix IDs being remapped in original compositor
Happens with files from T65223.
Caused by CoW scene still pointing to the original compositor.
Happens when scene was referenced for parameters only.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc index b092799e692..64f841d56fc 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc @@ -47,6 +47,17 @@ void DepsgraphNodeBuilder::build_scene_parameters(Scene *scene) } add_operation_node(&scene->id, NodeType::PARAMETERS, OperationCode::SCENE_EVAL); add_operation_node(&scene->id, NodeType::PARAMETERS, OperationCode::PARAMETERS_EVAL); + /* NOTE: This is a bit overkill and can potentially pull a bit too much into the graph, but: + * + * - We definitely need an ID node for the scene's compositor, othetrwise re-mapping will no + * happen correct and we will risk remapping pointers in the main database. + * - Alternatively, we should discard compositor tree, but this might cause other headache like + * drivers which are coming from the tree. + * + * Would be nice to find some reliable way of ignoring compositor here, but it's already pulled + * in when building scene from view layer, so this particular case does not make things + * marginally worse. */ + build_scene_compositor(scene); } void DepsgraphNodeBuilder::build_scene_compositor(Scene *scene) |