Skip to content

Commit ad68b1e

Browse files
mTvare6Keavon
andauthored
Restore Pen tool undo/redo and fix incorrect triggering of undo when changing tools (#2193)
Fixes ghost anchors, and allows undo in pentool Fixes https://discord.com/channels/731730685944922173/881073965047636018/1267365764231598186. Fixes https://discord.com/channels/731730685944922173/881073965047636018/1327376421034922045. Fixes #2152. Co-authored-by: Keavon Chambers <[email protected]>
1 parent 9a25555 commit ad68b1e

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

editor/src/messages/tool/tool_messages/pen_tool.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -332,9 +332,8 @@ impl PenToolData {
332332
},
333333
});
334334
}
335-
if close_subpath {
336-
responses.add(DocumentMessage::EndTransaction);
337-
} else {
335+
responses.add(DocumentMessage::EndTransaction);
336+
if !close_subpath {
338337
self.add_point(LastPoint {
339338
id: end,
340339
pos: next_point,
@@ -764,7 +763,7 @@ impl Fsm for PenToolFsmState {
764763

765764
state
766765
}
767-
(PenToolFsmState::DraggingHandle | PenToolFsmState::PlacingAnchor, PenToolMessage::Abort | PenToolMessage::Confirm) => {
766+
(PenToolFsmState::DraggingHandle | PenToolFsmState::PlacingAnchor, PenToolMessage::Confirm) => {
768767
responses.add(DocumentMessage::EndTransaction);
769768
tool_data.handle_end = None;
770769
tool_data.latest_points.clear();
@@ -793,9 +792,8 @@ impl Fsm for PenToolFsmState {
793792
}
794793
(_, PenToolMessage::Redo) => {
795794
tool_data.point_index = (tool_data.point_index + 1).min(tool_data.latest_points.len().saturating_sub(1));
796-
tool_data
797-
.place_anchor(SnapData::new(document, input), transform, input.mouse.position, responses)
798-
.unwrap_or(PenToolFsmState::PlacingAnchor)
795+
tool_data.place_anchor(SnapData::new(document, input), transform, input.mouse.position, responses);
796+
(tool_data.point_index == 0).then_some(PenToolFsmState::Ready).unwrap_or(PenToolFsmState::PlacingAnchor)
799797
}
800798
_ => self,
801799
}

0 commit comments

Comments
 (0)