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:
authorClément Foucault <foucault.clem@gmail.com>2022-05-24 11:40:52 +0300
committerClément Foucault <foucault.clem@gmail.com>2022-05-24 11:40:52 +0300
commitb84264fbc579b9563bdbe4dfc2bfeee7dd918bee (patch)
treee5f071d0209fcbffe3ae090f64f95fa2a17a8c9c /source/blender/nodes/shader
parent123f4db9bd08151d5a8609a9b98257caaf7ae3ac (diff)
parentec5b53a01806465a08ca56a4dcd18092d29d66c3 (diff)
Merge branch 'blender-v3.2-release'
Diffstat (limited to 'source/blender/nodes/shader')
-rw-r--r--source/blender/nodes/shader/node_shader_tree.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/nodes/shader/node_shader_tree.cc b/source/blender/nodes/shader/node_shader_tree.cc
index c5f40a46ca3..ec97637ccd2 100644
--- a/source/blender/nodes/shader/node_shader_tree.cc
+++ b/source/blender/nodes/shader/node_shader_tree.cc
@@ -587,10 +587,11 @@ static bNode *ntree_shader_copy_branch(bNodeTree *ntree,
}
}
}
- /* Recreate links between copied nodes. */
+ /* Recreate links between copied nodes AND incomming links to the copied nodes. */
LISTBASE_FOREACH (bNodeLink *, link, &ntree->links) {
- if (link->fromnode->tmp_flag >= 0 && link->tonode->tmp_flag >= 0) {
- bNode *fromnode = nodes_copy[link->fromnode->tmp_flag];
+ if (link->tonode->tmp_flag >= 0) {
+ bool from_node_copied = link->fromnode->tmp_flag >= 0;
+ bNode *fromnode = from_node_copied ? nodes_copy[link->fromnode->tmp_flag] : link->fromnode;
bNode *tonode = nodes_copy[link->tonode->tmp_flag];
bNodeSocket *fromsock = ntree_shader_node_find_output(fromnode, link->fromsock->identifier);
bNodeSocket *tosock = ntree_shader_node_find_input(tonode, link->tosock->identifier);