Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Toenne <lukas.toenne@googlemail.com>2013-07-31 16:26:03 +0400
committerLukas Toenne <lukas.toenne@googlemail.com>2013-07-31 16:26:03 +0400
commit81fd056d61b31046e1b201a82473eb30cfa012b3 (patch)
tree337d4f497e7787365adfc22d9d62284363f8d81a /source/blender/nodes/intern
parent3a69398288a557102be16a44d9ca8de285bafb3b (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.
Diffstat (limited to 'source/blender/nodes/intern')
-rw-r--r--source/blender/nodes/intern/node_exec.c4
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;
}
}