[Bf-blender-cvs] [fc1b35e] master: Depsgraph: Fix wrong comparison of ID type vs. node type

Sergey Sharybin noreply at git.blender.org
Thu Nov 3 11:33:55 CET 2016


Commit: fc1b35e44c09f22d0116bcddb7b39a50a9868580
Author: Sergey Sharybin
Date:   Thu Nov 3 11:19:42 2016 +0100
Branches: master
https://developer.blender.org/rBfc1b35e44c09f22d0116bcddb7b39a50a9868580

Depsgraph: Fix wrong comparison of ID type vs. node type

===================================================================

M	source/blender/depsgraph/intern/builder/deg_builder_nodes.cc

===================================================================

diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index 1812384..befc1ea 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@ -1171,15 +1171,17 @@ void DepsgraphNodeBuilder::build_nodetree(DepsNode *owner_node, bNodeTree *ntree
 
 	/* nodetree's nodes... */
 	for (bNode *bnode = (bNode *)ntree->nodes.first; bnode; bnode = bnode->next) {
-		if (bnode->id) {
-			if (GS(bnode->id->name) == ID_MA) {
-				build_material(owner_node, (Material *)bnode->id);
+		ID *id = bnode->id;
+		if (id != NULL) {
+			short id_type = GS(id->name);
+			if (id_type == ID_MA) {
+				build_material(owner_node, (Material *)id);
 			}
-			else if (bnode->type == ID_TE) {
-				build_texture(owner_node, (Tex *)bnode->id);
+			else if (id_type == ID_TE) {
+				build_texture(owner_node, (Tex *)id);
 			}
 			else if (bnode->type == NODE_GROUP) {
-				bNodeTree *group_ntree = (bNodeTree *)bnode->id;
+				bNodeTree *group_ntree = (bNodeTree *)id;
 				if ((group_ntree->id.tag & LIB_TAG_DOIT) == 0) {
 					build_nodetree(owner_node, group_ntree);
 				}




More information about the Bf-blender-cvs mailing list