[Bf-blender-cvs] [fa6a62f] master: Fix NodeGroup generic verify function crashing if node's ID pointer is NULL.

Bastien Montagne noreply at git.blender.org
Sat Nov 19 14:58:07 CET 2016


Commit: fa6a62fac2a394e66e779c0dc4aef0f9d840ab87
Author: Bastien Montagne
Date:   Sat Nov 19 12:18:32 2016 +0100
Branches: master
https://developer.blender.org/rBfa6a62fac2a394e66e779c0dc4aef0f9d840ab87

Fix NodeGroup generic verify function crashing if node's ID pointer is NULL.

Another nice crasher - in this case, we just want to nuke all sockets...

Related to T49991.

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

M	source/blender/nodes/intern/node_common.c

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

diff --git a/source/blender/nodes/intern/node_common.c b/source/blender/nodes/intern/node_common.c
index fbc0364..736f17f 100644
--- a/source/blender/nodes/intern/node_common.c
+++ b/source/blender/nodes/intern/node_common.c
@@ -178,9 +178,14 @@ void node_group_verify(struct bNodeTree *ntree, struct bNode *node, struct ID *i
 {
 	/* check inputs and outputs, and remove or insert them */
 	if (id == node->id) {
-		bNodeTree *ngroup = (bNodeTree *)node->id;
-		group_verify_socket_list(ntree, node, &ngroup->inputs, &node->inputs, SOCK_IN);
-		group_verify_socket_list(ntree, node, &ngroup->outputs, &node->outputs, SOCK_OUT);
+		if (id == NULL) {
+			nodeRemoveAllSockets(ntree, node);
+		}
+		else {
+			bNodeTree *ngroup = (bNodeTree *)node->id;
+			group_verify_socket_list(ntree, node, &ngroup->inputs, &node->inputs, SOCK_IN);
+			group_verify_socket_list(ntree, node, &ngroup->outputs, &node->outputs, SOCK_OUT);
+		}
 	}
 }




More information about the Bf-blender-cvs mailing list