diff --git a/editor/src/messages/portfolio/document/document_message_handler.rs b/editor/src/messages/portfolio/document/document_message_handler.rs index 989b70b4..5adf0e61 100644 --- a/editor/src/messages/portfolio/document/document_message_handler.rs +++ b/editor/src/messages/portfolio/document/document_message_handler.rs @@ -809,7 +809,7 @@ impl MessageHandler> for DocumentMessageHand } Undo => { self.undo_in_progress = true; - + responses.add(ToolMessage::PreUndo); responses.add(DocumentMessage::DocumentHistoryBackward); responses.add(OverlaysMessage::Draw); responses.add(DocumentMessage::UndoFinished); diff --git a/editor/src/messages/tool/tool_message.rs b/editor/src/messages/tool/tool_message.rs index 0e0ca8ea..b101d9d4 100644 --- a/editor/src/messages/tool/tool_message.rs +++ b/editor/src/messages/tool/tool_message.rs @@ -126,6 +126,7 @@ pub enum ToolMessage { }, DeactivateTools, InitTools, + PreUndo, Redo, RefreshToolOptions, ResetColors, diff --git a/editor/src/messages/tool/tool_message_handler.rs b/editor/src/messages/tool/tool_message_handler.rs index b305ae0f..31aa6bcf 100644 --- a/editor/src/messages/tool/tool_message_handler.rs +++ b/editor/src/messages/tool/tool_message_handler.rs @@ -177,6 +177,15 @@ impl MessageHandler { + let tool_data = &mut self.tool_state.tool_data; + match tool_data.active_tool_type { + ToolType::Pen => {} + _ => { + responses.add(BroadcastEvent::ToolAbort); + } + } + } ToolMessage::Redo => { let tool_data = &mut self.tool_state.tool_data; match tool_data.active_tool_type { @@ -236,9 +245,7 @@ impl MessageHandler { responses.add(PenToolMessage::Undo); } - _ => { - responses.add(BroadcastEvent::ToolAbort); - } + _ => {} } }