[Bf-blender-cvs] [b0278b24868] master: Depsgraph: Fix IDs being remapped in original compositor

Sergey Sharybin noreply at git.blender.org
Wed May 29 12:50:11 CEST 2019


Commit: b0278b24868d7cd6326577fcbae5ace13a0e9200
Author: Sergey Sharybin
Date:   Wed May 29 12:48:59 2019 +0200
Branches: master
https://developer.blender.org/rBb0278b24868d7cd6326577fcbae5ace13a0e9200

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.

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

M	source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc

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

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)



More information about the Bf-blender-cvs mailing list