diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-10-21 04:43:17 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-10-21 04:43:17 +0300 |
commit | b66728d63deee0fc9ef517405466d1139871251d (patch) | |
tree | 03b92d528c53e48434d4e6361ecfc1b7607d2f56 /source/blender/nodes | |
parent | a8553c9fa2482ca1a19bcf96edec2e8a3d261d86 (diff) | |
parent | ebb29200d3bf9460ff32100cc1ed6c436e206829 (diff) |
Merge branch 'master' into blender2.8
Diffstat (limited to 'source/blender/nodes')
-rw-r--r-- | source/blender/nodes/intern/node_socket.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/nodes/intern/node_socket.c b/source/blender/nodes/intern/node_socket.c index ddd25b237a0..382492707ce 100644 --- a/source/blender/nodes/intern/node_socket.c +++ b/source/blender/nodes/intern/node_socket.c @@ -183,13 +183,14 @@ void node_verify_socket_templates(bNodeTree *ntree, bNode *node) { bNodeType *ntype = node->typeinfo; /* Don't try to match socket lists when there are no templates. - * This prevents group node sockets from being removed, without the need to explicitly - * check the node type here. + * This prevents dynamically generated sockets to be removed, like for + * group, image or render layer nodes. We have an explicit check for the + * render layer node since it still has fixed sockets too. */ if (ntype) { if (ntype->inputs && ntype->inputs[0].type >= 0) verify_socket_template_list(ntree, node, SOCK_IN, &node->inputs, ntype->inputs); - if (ntype->outputs && ntype->outputs[0].type >= 0) + if (ntype->outputs && ntype->outputs[0].type >= 0 && node->type != CMP_NODE_R_LAYERS) verify_socket_template_list(ntree, node, SOCK_OUT, &node->outputs, ntype->outputs); } } |