From acd5f5285e9416f11b462f67f781bfebdbd7e017 Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Fri, 8 May 2020 17:34:17 +0200 Subject: Fix T76538: Prevent nodesocket creation on certain nodes - no sockets on Frame nodes - no Input sockets on Group Input nodes - no Output sockets on Group Output nodes Maniphest Tasks: T76538 Differential Revision: https://developer.blender.org/D7671 --- source/blender/makesrna/intern/rna_nodetree.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'source/blender/makesrna') 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) { -- cgit v1.2.3