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:
authorTon Roosendaal <ton@blender.org>2011-01-08 22:12:42 +0300
committerTon Roosendaal <ton@blender.org>2011-01-08 22:12:42 +0300
commit17e733a4fc2a8cd6958ecc5cf2bdae0ec2da2de5 (patch)
tree2d9ddb32fd215d05b13a40d0d91964588571b146 /source/blender/editors/space_node/node_edit.c
parent16e7a2618524a375541ddddc951cedc0a346179c (diff)
Bugfix #25525
Duplicating viewer node crashed in cases; bad ID was given to a function. Fix provided by Alexander Kuznetsov. Thanks!
Diffstat (limited to 'source/blender/editors/space_node/node_edit.c')
-rw-r--r--source/blender/editors/space_node/node_edit.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c
index 6a6c7c6eead..dc2396f0d15 100644
--- a/source/blender/editors/space_node/node_edit.c
+++ b/source/blender/editors/space_node/node_edit.c
@@ -330,6 +330,7 @@ void ED_node_texture_default(Tex *tx)
ntreeSolveOrder(tx->nodetree); /* needed for pointers */
}
+/* id is supposed to contain a node tree */
void node_tree_from_ID(ID *id, bNodeTree **ntree, bNodeTree **edittree, int *treetype)
{
bNode *node= NULL;
@@ -347,6 +348,10 @@ void node_tree_from_ID(ID *id, bNodeTree **ntree, bNodeTree **edittree, int *tre
*ntree= ((Tex*)id)->nodetree;
if(treetype) *treetype= NTREE_TEXTURE;
}
+ else {
+ if(treetype) *treetype= 0;
+ return;
+ }
/* find editable group */
if(edittree) {
@@ -1521,7 +1526,7 @@ static int node_duplicate_exec(bContext *C, wmOperator *UNUSED(op))
for(node= snode->edittree->nodes.first; node; node= node->next)
if(node->flag & SELECT)
if(node->id)
- ED_node_changed_update(node->id, node);
+ ED_node_changed_update(snode->id, node);
ntreeSolveOrder(snode->edittree);
node_tree_verify_groups(snode->nodetree);