From 5f737cc18fb9d4385d76a9cc652fc4e1a32bbd34 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 5 Jun 2019 14:51:40 +0200 Subject: Fix T65520: Assigning Material a second time crashes Blender --- source/blender/blenkernel/intern/node.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'source/blender') diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index d8b63dac99d..6ff0bb96004 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -1468,8 +1468,6 @@ void BKE_node_tree_copy_data(Main *UNUSED(bmain), } } - BLI_ghash_free(new_pointers, NULL, NULL); - /* copy interface sockets */ BLI_duplicatelist(&ntree_dst->inputs, &ntree_src->inputs); for (sock_dst = ntree_dst->inputs.first, sock_src = ntree_src->inputs.first; sock_dst != NULL; @@ -1503,10 +1501,12 @@ void BKE_node_tree_copy_data(Main *UNUSED(bmain), for (bNode *node_dst = ntree_dst->nodes.first, *node_src = ntree_src->nodes.first; node_dst; node_dst = node_dst->next, node_src = node_src->next) { if (node_dst->parent) { - node_dst->parent = node_dst->parent->new_node; + node_dst->parent = BLI_ghash_lookup_default(new_pointers, node_dst->parent, NULL); } } + BLI_ghash_free(new_pointers, NULL, NULL); + /* node tree will generate its own interface type */ ntree_dst->interface_type = NULL; } -- cgit v1.2.3