Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/nodes/intern/node_socket.c')
-rw-r--r--source/blender/nodes/intern/node_socket.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/source/blender/nodes/intern/node_socket.c b/source/blender/nodes/intern/node_socket.c
index 3485bd41660..199b469781d 100644
--- a/source/blender/nodes/intern/node_socket.c
+++ b/source/blender/nodes/intern/node_socket.c
@@ -27,8 +27,8 @@
#include "BLI_listbase.h"
#include "BLI_math.h"
-#include "BLI_utildefines.h"
#include "BLI_string.h"
+#include "BLI_utildefines.h"
#include "BKE_node.h"
@@ -106,7 +106,6 @@ static bNodeSocket *verify_socket_template(
if (sock->type != stemp->type) {
nodeModifySocketType(ntree, node, sock, stemp->type, stemp->subtype);
}
- sock->limit = (stemp->limit == 0 ? (in_out == SOCK_IN ? 1 : 0xFFF) : stemp->limit);
sock->flag |= stemp->flag;
}
else {
@@ -276,6 +275,11 @@ void node_socket_copy_default_value(bNodeSocket *to, const bNodeSocket *from)
}
node_socket_init_default_value(to);
+ /* use label instead of name if it has been set */
+ if (from->label[0] != '\0') {
+ BLI_strncpy(to->name, from->label, NODE_MAXSTR);
+ }
+
switch (from->typeinfo->type) {
case SOCK_FLOAT: {
bNodeSocketValueFloat *toval = to->default_value;
@@ -398,6 +402,7 @@ static bNodeSocketType *make_standard_socket_type(int type, int subtype)
StructRNA *srna;
stype = MEM_callocN(sizeof(bNodeSocketType), "node socket C type");
+ stype->free_self = (void (*)(bNodeSocketType * stype)) MEM_freeN;
BLI_strncpy(stype->idname, socket_idname, sizeof(stype->idname));
/* set the RNA type
@@ -424,6 +429,10 @@ static bNodeSocketType *make_standard_socket_type(int type, int subtype)
stype->interface_from_socket = standard_node_socket_interface_from_socket;
stype->interface_verify_socket = standard_node_socket_interface_verify_socket;
+ stype->use_link_limits_of_type = true;
+ stype->input_link_limit = 1;
+ stype->output_link_limit = 0xFFF;
+
return stype;
}
@@ -436,6 +445,7 @@ static bNodeSocketType *make_socket_type_virtual(void)
StructRNA *srna;
stype = MEM_callocN(sizeof(bNodeSocketType), "node socket C type");
+ stype->free_self = (void (*)(bNodeSocketType * stype)) MEM_freeN;
BLI_strncpy(stype->idname, socket_idname, sizeof(stype->idname));
/* set the RNA type
@@ -450,6 +460,10 @@ static bNodeSocketType *make_socket_type_virtual(void)
ED_init_node_socket_type_virtual(stype);
+ stype->use_link_limits_of_type = true;
+ stype->input_link_limit = 1;
+ stype->output_link_limit = 1;
+
return stype;
}