diff --git a/editor/src/messages/tool/tool_message_handler.rs b/editor/src/messages/tool/tool_message_handler.rs index c3dc2784..3e4a7200 100644 --- a/editor/src/messages/tool/tool_message_handler.rs +++ b/editor/src/messages/tool/tool_message_handler.rs @@ -139,7 +139,10 @@ impl MessageHandler> for ToolMessageHandler } } - if matches!(old_tool, ToolType::Path | ToolType::Select) { + // If a G/R/S transform is active while using Path, Select, Pen, or Shape, + // and the user switches to a different tool, cancel the current transform + // operation to avoid leaving it in an inconsistent state + if matches!(old_tool, ToolType::Path | ToolType::Select | ToolType::Pen | ToolType::Shape) { responses.add(TransformLayerMessage::CancelTransformOperation); } };