diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-04-04 18:07:10 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-04-04 18:07:10 +0400 |
commit | 9472fddc4b1cc15299e5936a7e3f3fdb3f5586a9 (patch) | |
tree | 52e21ac86eee0f458bc4b36c7ea112d25ecc51c4 /source/blender/nodes | |
parent | d579ea2901084f20407b1834a2d36445aba687b4 (diff) |
fix for referencing freed memory when rendering materials (could crash material preview).
Diffstat (limited to 'source/blender/nodes')
-rw-r--r-- | source/blender/nodes/shader/node_shader_tree.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/nodes/shader/node_shader_tree.c b/source/blender/nodes/shader/node_shader_tree.c index 50ef122fe60..c9b18009b71 100644 --- a/source/blender/nodes/shader/node_shader_tree.c +++ b/source/blender/nodes/shader/node_shader_tree.c @@ -272,10 +272,12 @@ void ntreeShaderEndExecTree_internal(bNodeTreeExec *exec) void ntreeShaderEndExecTree(bNodeTreeExec *exec) { if (exec) { + /* exec may get freed, so assign ntree */ + bNodeTree *ntree = exec->nodetree; ntreeShaderEndExecTree_internal(exec); /* XXX clear nodetree backpointer to exec data, same problem as noted in ntreeBeginExecTree */ - exec->nodetree->execdata = NULL; + ntree->execdata = NULL; } } |