[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46424] trunk/blender/source/blender/ blenkernel/intern/node.c: Fix #31350, by Sergey Sharybin.

Lukas Toenne lukas.toenne at googlemail.com
Tue May 8 17:15:00 CEST 2012


Revision: 46424
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46424
Author:   lukastoenne
Date:     2012-05-08 15:14:59 +0000 (Tue, 08 May 2012)
Log Message:
-----------
Fix #31350, by Sergey Sharybin.

This happens because of how output node index is initializing in assign_index function: itterator goes to the beginning of the nodes list using node->prev and then reviews the whole node list to find first unused index. The problem is that node's initialization now is getting called before node was added to node tree, so all output nodes have got equal index.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/node.c

Modified: trunk/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/node.c	2012-05-08 14:58:59 UTC (rev 46423)
+++ trunk/blender/source/blender/blenkernel/intern/node.c	2012-05-08 15:14:59 UTC (rev 46424)
@@ -339,15 +339,15 @@
 	
 	node_add_sockets_from_type(ntree, node, ntype);
 	
-	if (ntype->initfunc!=NULL)
-		ntype->initfunc(ntree, node, ntemp);
-	
 	/* initialize the node name with the node label */
 	BLI_strncpy(node->name, nodeLabel(node), NODE_MAXSTR);
 	nodeUniqueName(ntree, node);
 	
 	BLI_addtail(&ntree->nodes, node);
 	
+	if (ntype->initfunc!=NULL)
+		ntype->initfunc(ntree, node, ntemp);
+	
 	ntree->update |= NTREE_UPDATE_NODES;
 	
 	return node;




More information about the Bf-blender-cvs mailing list