[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