forked from bartvdbraak/blender
Depsgraph: Fix wrong remapping of compositor node tree when CoW is enabled
This commit is contained in:
parent
c601ef7d7d
commit
69a7ece389
@ -70,6 +70,12 @@ void DepsgraphNodeBuilder::build_view_layer(
|
|||||||
ViewLayer *view_layer,
|
ViewLayer *view_layer,
|
||||||
eDepsNode_LinkedState_Type linked_state)
|
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. */
|
/* Expand Scene Cow datablock to get proper pointers to bases. */
|
||||||
Scene *scene_cow;
|
Scene *scene_cow;
|
||||||
ViewLayer *view_layer_cow;
|
ViewLayer *view_layer_cow;
|
||||||
@ -82,6 +88,12 @@ void DepsgraphNodeBuilder::build_view_layer(
|
|||||||
Object *object = base->object;
|
Object *object = base->object;
|
||||||
add_id_node(&object->id, false);
|
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.
|
/* Make sure we've got ID node, so we can get pointer to CoW datablock.
|
||||||
*/
|
*/
|
||||||
scene_cow = expand_cow_datablock(scene);
|
scene_cow = expand_cow_datablock(scene);
|
||||||
@ -94,12 +106,6 @@ void DepsgraphNodeBuilder::build_view_layer(
|
|||||||
scene_cow = scene;
|
scene_cow = scene;
|
||||||
view_layer_cow = view_layer;
|
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. */
|
/* Scene objects. */
|
||||||
int select_color = 1;
|
int select_color = 1;
|
||||||
/* NOTE: Base is used for function bindings as-is, so need to pass CoW base,
|
/* NOTE: Base is used for function bindings as-is, so need to pass CoW base,
|
||||||
|
Loading…
Reference in New Issue
Block a user