[Bf-blender-cvs] [5f737cc18fb] master: Fix T65520: Assigning Material a second time crashes Blender

Sergey Sharybin noreply at git.blender.org
Wed Jun 5 14:53:05 CEST 2019


Commit: 5f737cc18fb9d4385d76a9cc652fc4e1a32bbd34
Author: Sergey Sharybin
Date:   Wed Jun 5 14:51:40 2019 +0200
Branches: master
https://developer.blender.org/rB5f737cc18fb9d4385d76a9cc652fc4e1a32bbd34

Fix T65520: Assigning Material a second time crashes Blender

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

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

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

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;
 }



More information about the Bf-blender-cvs mailing list