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:
authorLukas Toenne <lukas.toenne@googlemail.com>2013-10-14 12:03:55 +0400
committerLukas Toenne <lukas.toenne@googlemail.com>2013-10-14 12:03:55 +0400
commita90b8ebe48a767b95b9c867518b9b60f9624a5d2 (patch)
tree9f399ea17c5e83f5f93cf89fa81e904d1d83c0ae /source/blender/makesdna/DNA_node_types.h
parentdfea1dd0d7c2d188a5b29ca9cb883d943aa75086 (diff)
Fix for crash from double-freeing in nodes:
The way node groups check for localized trees in the ntreeFreeTree_ex function does not work. When the main library is freed on exit it also frees genuine node groups trees (which is correct), but then node groups referencing these trees will not find them in the library and interpret that as a localized group, attempting to free them a second time ... Nicer solution is to just use a special flag on localized node trees so we can clearly distinguish them from genuine trees in main.
Diffstat (limited to 'source/blender/makesdna/DNA_node_types.h')
-rw-r--r--source/blender/makesdna/DNA_node_types.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 75b9540f736..451dd20daa6 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -402,6 +402,7 @@ typedef struct bNodeTree {
#define NTREE_TWO_PASS 4 /* two pass */
#define NTREE_COM_GROUPNODE_BUFFER 8 /* use groupnode buffers */
#define NTREE_VIEWER_BORDER 16 /* use a border for viewer nodes */
+#define NTREE_IS_LOCALIZED 32 /* tree is localized copy, free when deleting node groups */
/* XXX not nice, but needed as a temporary flags
* for group updates after library linking.