diff options
author | Jacques Lucke <jacques@blender.org> | 2021-12-24 14:34:04 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-12-24 14:34:04 +0300 |
commit | ba4b7b43195c17436beaba95956087be4fb746a9 (patch) | |
tree | a644a2dac2129ca06b878721f677dd21fb192a76 /source/blender/nodes/intern/derived_node_tree.cc | |
parent | c0db8a9a3beed8cae7f4f138f46a9efcaff7b054 (diff) |
Fix T94162: incorrect handling when there are multiple group outputs
Typically a node group should only have a single Group Output node.
However, currently Blender already supports having multiple group outputs,
one of which is active. This wasn't handled correctly by geometry nodes.
Differential Revision: https://developer.blender.org/D13611
Diffstat (limited to 'source/blender/nodes/intern/derived_node_tree.cc')
-rw-r--r-- | source/blender/nodes/intern/derived_node_tree.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/nodes/intern/derived_node_tree.cc b/source/blender/nodes/intern/derived_node_tree.cc index dc223f07a26..449c6598307 100644 --- a/source/blender/nodes/intern/derived_node_tree.cc +++ b/source/blender/nodes/intern/derived_node_tree.cc @@ -270,6 +270,9 @@ void DOutputSocket::foreach_target_socket(ForeachTargetSocketFn target_fn, } } else if (linked_node->is_group_output_node()) { + if (linked_node.node_ref() != context_->tree().group_output_node()) { + continue; + } if (context_->is_root()) { /* This is a group output in the root node group. */ path_info.sockets.append(linked_socket); |