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 | |
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.
-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) |