Fix for #28517, group nodes losing all links from older files.

The reason was that group nodes tried to reconstruct sockets from the template lists, which are empty. Now the verification function checks if there are any sockets in the template lists, which are always empty for group nodes.
This commit is contained in:
Lukas Toenne 2011-09-06 08:28:06 +00:00
parent c94fe5e299
commit 82f7a5e3a2

@ -422,7 +422,11 @@ static void verify_socket_template_list(bNodeTree *ntree, bNode *node, int in_ou
void node_verify_socket_templates(bNodeTree *ntree, bNode *node)
{
bNodeType *ntype= node->typeinfo;
if(ntype) {
/* XXX Small trick: don't try to match socket lists when there are no templates.
* This also prevents group node sockets from being removed, without the need to explicitly
* check the node type here.
*/
if(ntype && ((ntype->inputs && ntype->inputs[0].type>=0) || (ntype->outputs && ntype->outputs[0].type>=0))) {
verify_socket_template_list(ntree, node, SOCK_IN, &node->inputs, ntype->inputs);
verify_socket_template_list(ntree, node, SOCK_OUT, &node->outputs, ntype->outputs);
}