diff options
author | Lukas Toenne <lukas.toenne@googlemail.com> | 2012-08-06 22:49:28 +0400 |
---|---|---|
committer | Lukas Toenne <lukas.toenne@googlemail.com> | 2012-08-06 22:49:28 +0400 |
commit | f961afece0a7bbcf758234bdf19cd35eae30dea2 (patch) | |
tree | 9a02a8c1b3e9ebde23e6166ddf609341f96be98f /source/blender/nodes/shader | |
parent | e276a7c8058d146f81ce08f12a0c45f77906515b (diff) |
Fix for incomplete Reroute node updates. Adding reroute nodes by spliting links would often result in unrelated color sockets or otherwise miss updates.
The reason is that the per-node updates used for Reroute node type inheritance are not supposed to be looking at connected nodes, they are purely for "local" updates. For this sort of "global" update which requires depth-first search, the update function on the node tree level must be used instead.
Diffstat (limited to 'source/blender/nodes/shader')
-rw-r--r-- | source/blender/nodes/shader/node_shader_tree.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/nodes/shader/node_shader_tree.c b/source/blender/nodes/shader/node_shader_tree.c index a1d873231e7..fa623eaad3d 100644 --- a/source/blender/nodes/shader/node_shader_tree.c +++ b/source/blender/nodes/shader/node_shader_tree.c @@ -55,6 +55,7 @@ #include "RE_shader_ext.h" +#include "node_common.h" #include "node_exec.h" #include "node_util.h" #include "node_shader_util.h" @@ -133,6 +134,8 @@ static void local_sync(bNodeTree *localtree, bNodeTree *ntree) static void update(bNodeTree *ntree) { ntreeSetOutput(ntree); + + ntree_update_reroute_nodes(ntree); } bNodeTreeType ntreeType_Shader = { |