Fix T93555: crash when muting nodes with multiple internal links
The crash happened because I was incorrectly and inconsistently assuming that a socket is part of at most one internal link. However, this is not the case. In geometry nodes, an input socket can be internally linked to multiple output sockets. In the general case, an output could also be linked to multiple input sockets, even though we don't have that in Blender yet.
This commit is contained in:
parent
f1b0b0ffb8
commit
198e571e87
Notes:
blender-bot
2023-02-13 22:38:46 +01:00
Referenced by issue #93555, Crash When Muting Group Nodes Containing Join Geometry Node
|
@ -281,7 +281,6 @@ void DOutputSocket::foreach_target_socket(ForeachTargetSocketFn target_fn,
|
|||
mute_output.foreach_target_socket(target_fn, path_info);
|
||||
path_info.sockets.pop_last();
|
||||
path_info.sockets.pop_last();
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (linked_node->is_group_output_node()) {
|
||||
|
|
|
@ -262,7 +262,6 @@ void InputSocketRef::foreach_logical_origin(
|
|||
skipped_fn.call_safe(origin);
|
||||
skipped_fn.call_safe(mute_input);
|
||||
mute_input.foreach_logical_origin(origin_fn, skipped_fn, true, seen_sockets_stack);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue