diff options
Diffstat (limited to 'source/blender/editors/space_node/node_edit.c')
-rw-r--r-- | source/blender/editors/space_node/node_edit.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index afdc9efb78b..b72a6503749 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -1404,8 +1404,12 @@ static int node_read_viewlayers_exec(bContext *C, wmOperator *UNUSED(op)) } LISTBASE_FOREACH (bNode *, node, &snode->edittree->nodes) { - if (node->type == CMP_NODE_R_LAYERS) { + if ((node->type == CMP_NODE_R_LAYERS) || + (node->type == CMP_NODE_CRYPTOMATTE && node->custom1 == CMP_CRYPTOMATTE_SRC_RENDER)) { ID *id = node->id; + if (id == NULL) { + continue; + } if (id->tag & LIB_TAG_DOIT) { RE_ReadRenderResult(curscene, (Scene *)id); ntreeCompositTagRender((Scene *)id); @@ -2742,7 +2746,7 @@ static int node_cryptomatte_add_socket_exec(bContext *C, wmOperator *UNUSED(op)) node = nodeGetActive(snode->edittree); } - if (!node || node->type != CMP_NODE_CRYPTOMATTE) { + if (!node || node->type != CMP_NODE_CRYPTOMATTE_LEGACY) { return OPERATOR_CANCELLED; } @@ -2786,7 +2790,7 @@ static int node_cryptomatte_remove_socket_exec(bContext *C, wmOperator *UNUSED(o node = nodeGetActive(snode->edittree); } - if (!node || node->type != CMP_NODE_CRYPTOMATTE) { + if (!node || node->type != CMP_NODE_CRYPTOMATTE_LEGACY) { return OPERATOR_CANCELLED; } |