From 878d09f6e696dd59e66017da0d5f82d5f2fb3509 Mon Sep 17 00:00:00 2001 From: itsmattkc <34096995+itsmattkc@users.noreply.github.com> Date: Wed, 25 Aug 2021 23:09:36 -0700 Subject: [PATCH] nodeview: null check on item Hopefully this doesn't break behavior Fixes #1687 Fixes #1736 --- app/widget/nodeview/nodeview.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/app/widget/nodeview/nodeview.cpp b/app/widget/nodeview/nodeview.cpp index 92fb6ec4e..7cef6f321 100644 --- a/app/widget/nodeview/nodeview.cpp +++ b/app/widget/nodeview/nodeview.cpp @@ -1369,12 +1369,16 @@ void NodeView::RecursivelyRemoveFloatingNodeFromContext(MultiUndoCommand *comman void NodeView::RecursivelyAddNodeToContext(MultiUndoCommand *command, Node *node, Node *context) { - command->add_child(new NodeSetPositionCommand(node, context, GetEstimatedPositionForContext(scene_.item_map().value(node), context), false)); + NodeViewItem *item = scene_.item_map().value(node); - // Add dependency - for (auto it=node->input_connections().cbegin(); it!=node->input_connections().cend(); it++) { - Node *dependency = it->second.node(); - RecursivelyAddNodeToContext(command, dependency, context); + if (item) { + command->add_child(new NodeSetPositionCommand(node, context, GetEstimatedPositionForContext(item, context), false)); + + // Add dependency + for (auto it=node->input_connections().cbegin(); it!=node->input_connections().cend(); it++) { + Node *dependency = it->second.node(); + RecursivelyAddNodeToContext(command, dependency, context); + } } }