From 5797a5fc65c87b69460d910a82d219b5e3ea12ad Mon Sep 17 00:00:00 2001 From: Miguel Porces Date: Sat, 16 Mar 2019 18:54:00 +0100 Subject: Fix ID user counting issues with NodeCustomGroup. User counting now happens before init() and after free() methods, so that the ID users are in a valid state when Python might modify them. ID user counting was moved into node.c and simplified. Patch by Miguel with further refactoring by Brecht. Ref D4370. --- source/blender/nodes/shader/node_shader_tree.c | 4 ++-- source/blender/nodes/texture/node_texture_tree.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'source/blender/nodes') diff --git a/source/blender/nodes/shader/node_shader_tree.c b/source/blender/nodes/shader/node_shader_tree.c index 9c00786dc91..50bec047222 100644 --- a/source/blender/nodes/shader/node_shader_tree.c +++ b/source/blender/nodes/shader/node_shader_tree.c @@ -143,7 +143,7 @@ static void localize(bNodeTree *localtree, bNodeTree *UNUSED(ntree)) if (node->flag & NODE_MUTED || node->type == NODE_REROUTE) { nodeInternalRelink(localtree, node); - nodeFreeNode(localtree, node); + ntreeFreeLocalNode(localtree, node); } } } @@ -247,7 +247,7 @@ static bNode *ntree_shader_relink_output_from_group(bNodeTree *ntree, SH_NODE_OUTPUT_WORLD, SH_NODE_OUTPUT_LIGHT)) { - nodeFreeNode(ntree, node); + ntreeFreeLocalNode(ntree, node); } } diff --git a/source/blender/nodes/texture/node_texture_tree.c b/source/blender/nodes/texture/node_texture_tree.c index f876ceb0872..6aeaf8d0179 100644 --- a/source/blender/nodes/texture/node_texture_tree.c +++ b/source/blender/nodes/texture/node_texture_tree.c @@ -118,7 +118,7 @@ static void localize(bNodeTree *localtree, bNodeTree *UNUSED(ntree)) if (node->flag & NODE_MUTED || node->type == NODE_REROUTE) { nodeInternalRelink(localtree, node); - nodeFreeNode(localtree, node); + ntreeFreeLocalNode(localtree, node); } } } -- cgit v1.2.3