diff options
Diffstat (limited to 'source/blender/nodes/intern/node_exec.c')
-rw-r--r-- | source/blender/nodes/intern/node_exec.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/nodes/intern/node_exec.c b/source/blender/nodes/intern/node_exec.c index 812fe5b4ae7..37018b3a98d 100644 --- a/source/blender/nodes/intern/node_exec.c +++ b/source/blender/nodes/intern/node_exec.c @@ -207,6 +207,7 @@ bNodeTreeExec *ntree_exec_begin(bNodeExecContext *context, bNodeTree *ntree, bNo /* prepare all nodes for execution */ for (n = 0, nodeexec = exec->nodeexec; n < totnodes; ++n, ++nodeexec) { node = nodeexec->node = nodelist[n]; + nodeexec->freeexecfunc = node->typeinfo->freeexecfunc; /* tag inputs */ for (sock = node->inputs.first; sock; sock = sock->next) { @@ -245,9 +246,8 @@ void ntree_exec_end(bNodeTreeExec *exec) MEM_freeN(exec->stack); for (n = 0, nodeexec = exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) { - if (nodeexec->node->typeinfo) - if (nodeexec->node->typeinfo->freeexecfunc) - nodeexec->node->typeinfo->freeexecfunc(nodeexec->node, nodeexec->data.data); + if (nodeexec->freeexecfunc) + nodeexec->freeexecfunc(nodeexec->data.data); } if (exec->nodeexec) |