[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28738] trunk/blender/source/blender/ editors/space_node/node_edit.c: Composite Node bug: the CTRL+SHIFT+Click to make a node connect to

Ton Roosendaal ton at blender.org
Wed May 12 19:27:26 CEST 2010


Revision: 28738
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28738
Author:   ton
Date:     2010-05-12 19:27:25 +0200 (Wed, 12 May 2010)

Log Message:
-----------
Composite Node bug: the CTRL+SHIFT+Click to make a node connect to
viewer didn't take hidden sockets in account.
 

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_node/node_edit.c

Modified: trunk/blender/source/blender/editors/space_node/node_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_edit.c	2010-05-12 13:55:09 UTC (rev 28737)
+++ trunk/blender/source/blender/editors/space_node/node_edit.c	2010-05-12 17:27:25 UTC (rev 28738)
@@ -1034,22 +1034,31 @@
 	}
 		
 	if(node) {
-		bNodeLink *link;
+		bNodeSocket *sock;
 		
-		/* get link to viewer */
-		for(link= snode->edittree->links.first; link; link= link->next)
-			if(link->tonode==node)
+		/* get a good socket to view from */
+		for(sock= tonode->outputs.first; sock; sock= sock->next)
+			if(!(sock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL)))
 				break;
 		
-		if(link==NULL) {
-			nodeAddLink(snode->edittree, tonode, tonode->outputs.first, node, node->inputs.first);
+		if(sock) {
+			bNodeLink *link;
+			
+			/* get link to viewer */
+			for(link= snode->edittree->links.first; link; link= link->next)
+				if(link->tonode==node)
+					break;
+			
+			if(link==NULL) {
+				nodeAddLink(snode->edittree, tonode, sock, node, node->inputs.first);
+			}
+			else {
+				link->fromnode= tonode;
+				link->fromsock= sock;
+			}
+			ntreeSolveOrder(snode->edittree);
+			NodeTagChanged(snode->edittree, node);
 		}
-		else {
-			link->fromnode= tonode;
-			link->fromsock= tonode->outputs.first;
-		}
-		ntreeSolveOrder(snode->edittree);
-		NodeTagChanged(snode->edittree, node);
 	}
 }
 





More information about the Bf-blender-cvs mailing list