Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-06-05 15:51:40 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-06-05 15:53:00 +0300
commit5f737cc18fb9d4385d76a9cc652fc4e1a32bbd34 (patch)
tree677e18419e8f2fdade8e4c6be84f51fbeeed28b1
parenta73b250fc5fbaa6e087c3999fa66a19e9f4efaa0 (diff)
Fix T65520: Assigning Material a second time crashes Blender
-rw-r--r--source/blender/blenkernel/intern/node.c6
1 files changed, 3 insertions, 3 deletions
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;
}