From c486c6e3e3fde2963f03115b12db11c5df145775 Mon Sep 17 00:00:00 2001 From: Mateo <45690579+c-mateo@users.noreply.github.com> Date: Thu, 3 Apr 2025 16:41:51 -0300 Subject: [PATCH] Fix Pen tool creates single anchor path (#2511) * Delete layer if path has a single anchor * Remove unnecessary layer reference from pen state --- editor/src/messages/tool/tool_messages/pen_tool.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/editor/src/messages/tool/tool_messages/pen_tool.rs b/editor/src/messages/tool/tool_messages/pen_tool.rs index a09abc5b..2c8fe49d 100644 --- a/editor/src/messages/tool/tool_messages/pen_tool.rs +++ b/editor/src/messages/tool/tool_messages/pen_tool.rs @@ -1601,6 +1601,8 @@ impl Fsm for PenToolFsmState { PenToolFsmState::Ready } (_, PenToolMessage::Abort) => { + let should_delete_layer = tool_data.latest_points.len() == 1; + responses.add(DocumentMessage::AbortTransaction); tool_data.handle_end = None; tool_data.latest_points.clear(); @@ -1608,6 +1610,13 @@ impl Fsm for PenToolFsmState { tool_data.draw_mode = DrawMode::BreakPath; tool_data.snap_manager.cleanup(responses); + if should_delete_layer && layer.is_some() { + responses.add(NodeGraphMessage::DeleteNodes { + node_ids: vec![layer.unwrap().to_node()], + delete_children: true, + }); + responses.add(NodeGraphMessage::RunDocumentGraph); + } responses.add(OverlaysMessage::Draw); PenToolFsmState::Ready