From 1039f765028ea1f3b36f2af89fb49f339f0688e1 Mon Sep 17 00:00:00 2001 From: Chase <60807752+Chase-Percy@users.noreply.github.com> Date: Sat, 20 May 2023 03:08:59 +0800 Subject: [PATCH] Fix node copy paste issues (#1208) * Fix copy issue * Allow copying of input frame nodes * Fix duplication delay of node graphs --------- Co-authored-by: Keavon Chambers --- .../document/node_graph/node_graph_message_handler.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler.rs b/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler.rs index c3c141f6..b29ddad3 100644 --- a/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler.rs +++ b/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler.rs @@ -407,7 +407,7 @@ impl NodeGraphMessageHandler { fn copy_nodes<'a>(network: &'a NodeNetwork, new_ids: &'a HashMap) -> impl Iterator + 'a { new_ids .iter() - .filter(|&(&id, _)| !network.outputs_contain(id) && !network.inputs.contains(&id)) + .filter(|&(&id, _)| !network.outputs_contain(id)) .filter_map(|(&id, &new)| network.nodes.get(&id).map(|node| (new, node.clone()))) .map(move |(new, node)| (new, node.map_ids(Self::default_node_input, new_ids))) } @@ -580,6 +580,7 @@ impl MessageHandler for N Self::send_graph(network, executor, &self.layer_path, responses); self.update_selected(document, responses); + responses.add(NodeGraphMessage::SendGraph { should_rerender: false }); } } NodeGraphMessage::ExitNestedNetwork { depth_of_nesting } => { @@ -669,6 +670,10 @@ impl MessageHandler for N } }; + if data.is_empty() { + return; + } + // Shift nodes until it is not in the same position as another node let mut shift = IVec2::ZERO; while data