[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44669] trunk/blender: Fix for 30439, Cycles node group conversion wasn't checking node->id pointer ( group node without internal node tree).

Lukas Toenne lukas.toenne at googlemail.com
Tue Mar 6 12:34:59 CET 2012


Revision: 44669
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44669
Author:   lukastoenne
Date:     2012-03-06 11:34:57 +0000 (Tue, 06 Mar 2012)
Log Message:
-----------
Fix for 30439, Cycles node group conversion wasn't checking node->id pointer (group node without internal node tree). This is a somewhat unusual case (UI buttons don't allow unlinking group tree), but not entirely forbidden.

Also fixed similar issue in node_templates.c where the group tree is used to generate a button name.

Modified Paths:
--------------
    trunk/blender/intern/cycles/blender/blender_shader.cpp
    trunk/blender/source/blender/editors/space_node/node_templates.c

Modified: trunk/blender/intern/cycles/blender/blender_shader.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_shader.cpp	2012-03-06 11:24:23 UTC (rev 44668)
+++ trunk/blender/intern/cycles/blender/blender_shader.cpp	2012-03-06 11:34:57 UTC (rev 44669)
@@ -517,6 +517,9 @@
 			/* add proxy converter nodes for inputs and outputs */
 			BL::NodeGroup b_gnode(*b_node);
 			BL::ShaderNodeTree b_group_ntree(b_gnode.node_tree());
+			if (!b_group_ntree)
+				continue;
+
 			BL::Node::inputs_iterator b_input;
 			BL::Node::outputs_iterator b_output;
 			

Modified: trunk/blender/source/blender/editors/space_node/node_templates.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_templates.c	2012-03-06 11:24:23 UTC (rev 44668)
+++ trunk/blender/source/blender/editors/space_node/node_templates.c	2012-03-06 11:34:57 UTC (rev 44669)
@@ -277,8 +277,12 @@
 		bNode *node = sock->link->fromnode;
 		char node_name[UI_MAX_NAME_STR];
 
-		if(node->type == NODE_GROUP)
-			BLI_strncpy(node_name, node->id->name+2, UI_MAX_NAME_STR);
+		if(node->type == NODE_GROUP) {
+			if (node->id)
+				BLI_strncpy(node_name, node->id->name+2, UI_MAX_NAME_STR);
+			else
+				BLI_strncpy(node_name, "Group", UI_MAX_NAME_STR);
+		}
 		else
 			BLI_strncpy(node_name, node->typeinfo->name, UI_MAX_NAME_STR);
 




More information about the Bf-blender-cvs mailing list