diff options
-rw-r--r-- | intern/cycles/blender/blender_shader.cpp | 3 | ||||
-rw-r--r-- | source/blender/editors/space_node/node_templates.c | 8 |
2 files changed, 9 insertions, 2 deletions
diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index 415a043cf78..45076122467 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -517,6 +517,9 @@ static void add_nodes(BL::BlendData b_data, ShaderGraph *graph, BL::ShaderNodeTr /* 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; diff --git a/source/blender/editors/space_node/node_templates.c b/source/blender/editors/space_node/node_templates.c index 24fb55be38e..781f37918fd 100644 --- a/source/blender/editors/space_node/node_templates.c +++ b/source/blender/editors/space_node/node_templates.c @@ -277,8 +277,12 @@ static void ui_node_sock_name(bNodeSocket *sock, char name[UI_MAX_NAME_STR]) 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); |