[Bf-blender-cvs] [faf7453b45a] blender2.8: Fix crash in loading/applying static overrides of some nodal material.

Bastien Montagne noreply at git.blender.org
Mon Jun 11 17:12:53 CEST 2018


Commit: faf7453b45aecace938fa671702dd62a0620c5b8
Author: Bastien Montagne
Date:   Mon Jun 11 17:11:26 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBfaf7453b45aecace938fa671702dd62a0620c5b8

Fix crash in loading/applying static overrides of some nodal material.

No real idea why node's typeinfo is NULL here... but think we do not
care much in that case, so just adding some NULL checks for now.

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

M	source/blender/blenkernel/intern/node.c

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

diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index 72a34d35715..2031bb4e9d4 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -1684,7 +1684,7 @@ static void node_free_node_ex(bNodeTree *ntree, bNode *node, bool remove_animdat
 	remove_animdata &= ntree && !(ntree->flag & NTREE_IS_LOCALIZED);
 	
 	/* extra free callback */
-	if (use_api_free_cb && node->typeinfo->freefunc_api) {
+	if (use_api_free_cb && node->typeinfo != NULL && node->typeinfo->freefunc_api) {
 		PointerRNA ptr;
 		RNA_pointer_create((ID *)ntree, &RNA_Node, node, &ptr);
 		
@@ -1711,7 +1711,7 @@ static void node_free_node_ex(bNodeTree *ntree, bNode *node, bool remove_animdat
 			BKE_animdata_fix_paths_remove((ID *)ntree, prefix);
 		}
 
-		if (ntree->typeinfo->free_node_cache)
+		if (node->typeinfo != NULL && ntree->typeinfo->free_node_cache)
 			ntree->typeinfo->free_node_cache(ntree, node);
 		
 		/* texture node has bad habit of keeping exec data around */
@@ -1721,7 +1721,7 @@ static void node_free_node_ex(bNodeTree *ntree, bNode *node, bool remove_animdat
 		}
 	}
 
-	if (node->typeinfo->freefunc) {
+	if (node->typeinfo != NULL && node->typeinfo->freefunc) {
 		node->typeinfo->freefunc(node);
 	}



More information about the Bf-blender-cvs mailing list