[Bf-blender-cvs] [69a7ece3892] blender2.8: Depsgraph: Fix wrong remapping of compositor node tree when CoW is enabled
Sergey Sharybin
noreply at git.blender.org
Thu Nov 30 12:47:41 CET 2017
Commit: 69a7ece38928cd1602c8721db6193ba56febc7c0
Author: Sergey Sharybin
Date: Thu Nov 30 12:35:51 2017 +0100
Branches: blender2.8
https://developer.blender.org/rB69a7ece38928cd1602c8721db6193ba56febc7c0
Depsgraph: Fix wrong remapping of compositor node tree when CoW is enabled
===================================================================
M source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
===================================================================
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
index cd226941278..cf77b859b5c 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
@@ -70,6 +70,12 @@ void DepsgraphNodeBuilder::build_view_layer(
ViewLayer *view_layer,
eDepsNode_LinkedState_Type linked_state)
{
+ /* Scene ID block. */
+ add_id_node(&scene->id);
+ /* Time source. */
+ add_time_source();
+ /* Setup currently building context. */
+ scene_ = scene;
/* Expand Scene Cow datablock to get proper pointers to bases. */
Scene *scene_cow;
ViewLayer *view_layer_cow;
@@ -82,6 +88,12 @@ void DepsgraphNodeBuilder::build_view_layer(
Object *object = base->object;
add_id_node(&object->id, false);
}
+ /* Create ID node for nested ID of nodetree as well, otherwise remapping
+ * will not work correct either.
+ */
+ if (scene->nodetree != NULL) {
+ add_id_node(&scene->nodetree->id, false);
+ }
/* Make sure we've got ID node, so we can get pointer to CoW datablock.
*/
scene_cow = expand_cow_datablock(scene);
@@ -94,12 +106,6 @@ void DepsgraphNodeBuilder::build_view_layer(
scene_cow = scene;
view_layer_cow = view_layer;
}
- /* Scene ID block. */
- add_id_node(&scene->id);
- /* Time source. */
- add_time_source();
- /* Setup currently building context. */
- scene_ = scene;
/* Scene objects. */
int select_color = 1;
/* NOTE: Base is used for function bindings as-is, so need to pass CoW base,
More information about the Bf-blender-cvs
mailing list