Fix T93054: crash when deleting a missed linked file

This is a bit similar to rBb7260ca4c9f4b7618c9c214f1270e31d6ed9886b.
Sometimes a group node may not reference a node group
because it was linked and can't be found.
This commit is contained in:
Jacques Lucke 2021-11-19 10:15:58 +01:00
parent 4ea6b4ba84
commit de3fda29c7
Notes: blender-bot 2023-02-14 11:24:03 +01:00
Referenced by issue #93054, Crash When Deleting a Missing Linked File
1 changed files with 5 additions and 1 deletions

View File

@ -167,7 +167,11 @@ DInputSocket DOutputSocket::get_active_corresponding_group_output_socket() const
BLI_assert(socket_ref_->node().is_group_node());
const DTreeContext *child_context = context_->child_context(socket_ref_->node());
BLI_assert(child_context != nullptr);
if (child_context == nullptr) {
/* Can happen when the group node references a non-existant group (e.g. when the group is
* linked but the original file is not found). */
return {};
}
const NodeTreeRef &child_tree = child_context->tree();
Span<const NodeRef *> group_output_nodes = child_tree.nodes_by_type("NodeGroupOutput");