Revision: 37106 http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37106 Author: blendix Date: 2011-06-02 17:34:01 +0000 (Thu, 02 Jun 2011) Log Message: ----------- Fix related to #27309: group nodes with a linked datablock that was missing would crash.
Modified Paths: -------------- trunk/blender/source/blender/blenkernel/intern/node.c trunk/blender/source/blender/blenloader/intern/readfile.c Modified: trunk/blender/source/blender/blenkernel/intern/node.c =================================================================== --- trunk/blender/source/blender/blenkernel/intern/node.c 2011-06-02 17:28:04 UTC (rev 37105) +++ trunk/blender/source/blender/blenkernel/intern/node.c 2011-06-02 17:34:01 UTC (rev 37106) @@ -350,7 +350,7 @@ /* groups display their internal tree name as label */ static const char *group_label(bNode *node) { - return node->id->name+2; + return (node->id)? node->id->name+2: "Missing Datablock"; } void register_node_type_group(ListBase *lb) @@ -2072,11 +2072,12 @@ bNodeTree *ngroup= (bNodeTree*)node->id; bNodeSocket *sock; - if((ngroup->init & NTREE_TYPE_INIT)==0) + if(ngroup && (ngroup->init & NTREE_TYPE_INIT)==0) ntreeInitTypes(ngroup); node->stack_index = index; - index += ntree_begin_exec_tree(ngroup); + if(ngroup) + index += ntree_begin_exec_tree(ngroup); for (sock=node->inputs.first; sock; sock=sock->next) { if (sock->link && sock->link->fromsock) { @@ -2199,7 +2200,7 @@ if(node->type==CMP_NODE_CURVE_RGB) curvemapping_premultiply(node->storage, 0); } - if(node->type==NODE_GROUP) + if(node->type==NODE_GROUP && node->id) composit_begin_exec((bNodeTree *)node->id, stack + node->stack_index); } @@ -2225,7 +2226,7 @@ if(node->type==CMP_NODE_CURVE_RGB) curvemapping_premultiply(node->storage, 1); - if(node->type==NODE_GROUP) + if(node->type==NODE_GROUP && node->id) composit_end_exec((bNodeTree *)node->id, stack + node->stack_index); node->need_exec= 0; Modified: trunk/blender/source/blender/blenloader/intern/readfile.c =================================================================== --- trunk/blender/source/blender/blenloader/intern/readfile.c 2011-06-02 17:28:04 UTC (rev 37105) +++ trunk/blender/source/blender/blenloader/intern/readfile.c 2011-06-02 17:34:01 UTC (rev 37106) @@ -2093,7 +2093,7 @@ for (node=ntree->nodes.first; node; node=node->next) { if (node->type==NODE_GROUP) { bNodeTree *ngroup= (bNodeTree*)node->id; - if (ngroup->flag & NTREE_DO_VERSIONS) + if (ngroup && (ngroup->flag & NTREE_DO_VERSIONS)) lib_node_do_versions_group(node); } } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs