diff options
-rw-r--r-- | source/blender/blenkernel/intern/node.c | 4 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_nodetree.c | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index c3c538f3424..5ae44247e13 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -771,6 +771,10 @@ bNodeSocket *nodeAddSocket(bNodeTree *ntree, const char *identifier, const char *name) { + BLI_assert(node->type != NODE_FRAME); + BLI_assert(!(in_out == SOCK_IN && node->type == NODE_GROUP_INPUT)); + BLI_assert(!(in_out == SOCK_OUT && node->type == NODE_GROUP_OUTPUT)); + ListBase *lb = (in_out == SOCK_IN ? &node->inputs : &node->outputs); bNodeSocket *sock = make_socket(ntree, node, in_out, lb, idname, identifier, name); diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index 71b3f1ee94b..5be3db37329 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -1893,6 +1893,11 @@ static bNodeSocket *rna_Node_inputs_new(ID *id, const char *name, const char *identifier) { + + if (ELEM(node->type, NODE_GROUP_INPUT, NODE_FRAME)) { + BKE_report(reports, RPT_ERROR, "Unable to create socket"); + return NULL; + } /* Adding an input to a group node is not working, * simpler to add it to its underlying nodetree. */ if (ELEM(node->type, NODE_GROUP, NODE_CUSTOM_GROUP) && node->id != NULL) { @@ -1923,6 +1928,10 @@ static bNodeSocket *rna_Node_outputs_new(ID *id, const char *name, const char *identifier) { + if (ELEM(node->type, NODE_GROUP_OUTPUT, NODE_FRAME)) { + BKE_report(reports, RPT_ERROR, "Unable to create socket"); + return NULL; + } /* Adding an output to a group node is not working, * simpler to add it to its underlying nodetree. */ if (ELEM(node->type, NODE_GROUP, NODE_CUSTOM_GROUP) && node->id != NULL) { |