diff --git a/editor/src/messages/tool/tool_messages/spline_tool.rs b/editor/src/messages/tool/tool_messages/spline_tool.rs index 2ac541d702..3958caa4ae 100644 --- a/editor/src/messages/tool/tool_messages/spline_tool.rs +++ b/editor/src/messages/tool/tool_messages/spline_tool.rs @@ -430,7 +430,14 @@ impl Fsm for SplineToolFsmState { SplineToolFsmState::MergingEndpoints } (SplineToolFsmState::Drawing, SplineToolMessage::Abort) => { - responses.add(DocumentMessage::AbortTransaction); + if tool_data.points.len() < 2 { + // Delete layer if it is only a single point + responses.add(DocumentMessage::AbortTransaction); + } else { + // Delete the preview of the next stroke but commit the path + delete_preview(tool_data, responses); + responses.add(DocumentMessage::EndTransaction); + } SplineToolFsmState::Ready } (_, SplineToolMessage::WorkingColorChanged) => {