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>2018-12-14 17:20:33 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2018-12-14 17:29:16 +0300
commite67f7e922cfe6742753944fa1bf4ace358b382a7 (patch)
tree8f3c3925532b1f8e8a7d7883ba3b3460e18e13f5 /source/blender/blenkernel/intern/material.c
parent1e18efa1df1ad999303143156e0742d97d4c86bb (diff)
Attempt to sanitize node tree deletion
Make it explicit when freeing node tree which is owned by other ID or when freeing node tree which is outside of a bmain.
Diffstat (limited to 'source/blender/blenkernel/intern/material.c')
-rw-r--r--source/blender/blenkernel/intern/material.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c
index 81c220045ba..30fc02e94de 100644
--- a/source/blender/blenkernel/intern/material.c
+++ b/source/blender/blenkernel/intern/material.c
@@ -99,7 +99,7 @@ void BKE_material_free(Material *ma)
/* is no lib link block, but material extension */
if (ma->nodetree) {
- ntreeFreeTree(ma->nodetree);
+ ntreeFreeNestedTree(ma->nodetree);
MEM_freeN(ma->nodetree);
ma->nodetree = NULL;
}
@@ -1373,7 +1373,7 @@ void clear_matcopybuf(void)
void free_matcopybuf(void)
{
if (matcopybuf.nodetree) {
- ntreeFreeTree(matcopybuf.nodetree);
+ ntreeFreeLocalTree(matcopybuf.nodetree);
MEM_freeN(matcopybuf.nodetree);
matcopybuf.nodetree = NULL;
}
@@ -1406,7 +1406,7 @@ void paste_matcopybuf(Main *bmain, Material *ma)
GPU_material_free(&ma->gpumaterial);
if (ma->nodetree) {
- ntreeFreeTree(ma->nodetree);
+ ntreeFreeNestedTree(ma->nodetree);
MEM_freeN(ma->nodetree);
}