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
path: root/source
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2012-11-04 15:53:13 +0400
committerTon Roosendaal <ton@blender.org>2012-11-04 15:53:13 +0400
commit2122eda05ab3e44fe0b45603725135d8983b82b7 (patch)
tree7c147fab8c09ac17e9c58f064b9ff7eb5ba3ff9d /source
parent7579a9ec37ba476b0379af227b4c704d966e8158 (diff)
Bugfix 33075
Nodes could use duplicated memory - and on free you get duplicate-free errors. Affected texture nodes, but I suspect compositing too. Fix found by Philipp Oeser. Thanks!
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/node.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index cbe3b7dd231..153eb5271c5 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -405,10 +405,14 @@ bNode *nodeCopyNode(struct bNodeTree *ntree, struct bNode *node)
nnode->new_node = NULL;
/* only shader nodes get pleasant preview updating this way, compo uses own system */
- if (node->preview && ntree->type == NTREE_SHADER) {
- nnode->preview = MEM_dupallocN(node->preview);
- if (node->preview->rect)
- nnode->preview->rect = MEM_dupallocN(node->preview->rect);
+ if (node->preview) {
+ if (ntree->type == NTREE_SHADER) {
+ nnode->preview = MEM_dupallocN(node->preview);
+ if (node->preview->rect)
+ nnode->preview->rect = MEM_dupallocN(node->preview->rect);
+ }
+ else
+ nnode->preview = NULL;
}
if (ntree)