From 121f428097e8874a4f9a3b3ae8b783865a3a8eed Mon Sep 17 00:00:00 2001 From: Lukas Toenne Date: Tue, 18 Jan 2011 14:49:06 +0000 Subject: Added group verification after autoconnect to avoid linked+external group sockets. --- source/blender/editors/space_node/node_edit.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'source/blender/editors/space_node/node_edit.c') diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index 90e2ef5ebc7..cf5822d0461 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -1407,7 +1407,7 @@ void snode_autoconnect(SpaceNode *snode, int allow_multiple, int replace) ListBase *nodelist = MEM_callocN(sizeof(ListBase), "items_list"); bNodeListItem *nli; bNode *node; - int i; + int i, numlinks=0; for(node= snode->edittree->nodes.first; node; node= node->next) { if(node->flag & NODE_SELECT) { @@ -1445,11 +1445,15 @@ void snode_autoconnect(SpaceNode *snode, int allow_multiple, int replace) nodeRemSocketLinks(snode->edittree, sock_to); nodeAddLink(snode->edittree, node_fr, sock_fr, node_to, sock_to); NodeTagChanged(snode->edittree, node_to); + ++numlinks; break; } } - ntreeSolveOrder(snode->edittree); + if (numlinks > 0) { + node_tree_verify_groups(snode->nodetree); + ntreeSolveOrder(snode->edittree); + } BLI_freelistN(nodelist); MEM_freeN(nodelist); -- cgit v1.2.3