From 10b5ad5bae9e6cbd5a3b37a9cb492cf9e2558a48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20T=C3=B6nne?= Date: Fri, 10 Jan 2014 16:51:45 +0100 Subject: Fix T38142: socket interface 'type' enums are not initialized. These are not really needed anyway, but need to be adjusted to make use of the socket value copy methods. --- source/blender/nodes/intern/node_socket.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'source/blender/nodes/intern') diff --git a/source/blender/nodes/intern/node_socket.c b/source/blender/nodes/intern/node_socket.c index a37042c9d70..fddcc249f99 100644 --- a/source/blender/nodes/intern/node_socket.c +++ b/source/blender/nodes/intern/node_socket.c @@ -334,6 +334,10 @@ static void standard_node_socket_interface_init_socket(bNodeTree *UNUSED(ntree), /* initialize the type value */ sock->type = sock->typeinfo->type; + /* XXX socket interface 'type' value is not used really, + * but has to match or the copy function will bail out + */ + stemp->type = stemp->typeinfo->type; /* copy default_value settings */ node_socket_copy_default_value(sock, stemp); } @@ -342,7 +346,7 @@ static void standard_node_socket_interface_init_socket(bNodeTree *UNUSED(ntree), static void standard_node_socket_interface_verify_socket(bNodeTree *UNUSED(ntree), bNodeSocket *stemp, bNode *UNUSED(node), bNodeSocket *sock, const char *UNUSED(data_path)) { /* sanity check */ - if (!STREQ(sock->idname, stemp->idname)) + if (sock->type != stemp->typeinfo->type) return; /* make sure both exist */ @@ -381,6 +385,7 @@ static void standard_node_socket_interface_verify_socket(bNodeTree *UNUSED(ntree static void standard_node_socket_interface_from_socket(bNodeTree *UNUSED(ntree), bNodeSocket *stemp, bNode *UNUSED(node), bNodeSocket *sock) { /* initialize settings */ + stemp->type = stemp->typeinfo->type; node_socket_copy_default_value(stemp, sock); } -- cgit v1.2.3