diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-08-30 21:18:15 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-08-30 21:18:15 +0400 |
commit | b1c36529aa571d73c2ca86a5d3b3e6fa26d00758 (patch) | |
tree | d7c2f4f6c69be3eb7cf38a310b6f39b4a4277918 | |
parent | 0933c6093e1a87706bf3a08803bd794c78f14639 (diff) |
Fix #36609: glsl materials with reroute nodes not working correct.
-rw-r--r-- | source/blender/nodes/shader/node_shader_tree.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/nodes/shader/node_shader_tree.c b/source/blender/nodes/shader/node_shader_tree.c index 134a5c9575f..1e828ea321c 100644 --- a/source/blender/nodes/shader/node_shader_tree.c +++ b/source/blender/nodes/shader/node_shader_tree.c @@ -189,13 +189,16 @@ void register_node_tree_type_sh(void) void ntreeGPUMaterialNodes(bNodeTree *ntree, GPUMaterial *mat) { + /* localize tree to create links for reroute and mute */ + bNodeTree *localtree = ntreeLocalize(ntree); bNodeTreeExec *exec; - exec = ntreeShaderBeginExecTree(ntree); - + exec = ntreeShaderBeginExecTree(localtree); ntreeExecGPUNodes(exec, mat, 1); - ntreeShaderEndExecTree(exec); + + ntreeFreeTree_ex(localtree, false); + MEM_freeN(localtree); } /* **************** call to switch lamploop for material node ************ */ |