diff options
author | Lukas Toenne <lukas.toenne@googlemail.com> | 2013-07-31 16:26:03 +0400 |
---|---|---|
committer | Lukas Toenne <lukas.toenne@googlemail.com> | 2013-07-31 16:26:03 +0400 |
commit | 81fd056d61b31046e1b201a82473eb30cfa012b3 (patch) | |
tree | 337d4f497e7787365adfc22d9d62284363f8d81a | |
parent | 3a69398288a557102be16a44d9ca8de285bafb3b (diff) |
Fix #36267 part 2 of 2: Fix for reroute node values in old shader node stack system. They were overwriting stack values from their input nodes, because the system would not detect that these sockets
actually just point to existing defined stack values. To make the link check work, set the socket->link pointer if internal node connections exist, this works for both muted and reroute nodes.
-rw-r--r-- | source/blender/nodes/intern/node_exec.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/nodes/intern/node_exec.c b/source/blender/nodes/intern/node_exec.c index d18dddd4ff4..2b6318679e0 100644 --- a/source/blender/nodes/intern/node_exec.c +++ b/source/blender/nodes/intern/node_exec.c @@ -98,6 +98,10 @@ static void node_init_output_index(bNodeSocket *sock, int *index, ListBase *inte for (link = internal_links->first; link; link = link->next) { if (link->tosock == sock) { sock->stack_index = link->fromsock->stack_index; + /* set the link pointer to indicate that this socket + * should not overwrite the stack value! + */ + sock->link = link; break; } } |