fix(command): drain pending pause tokens on viewport click and coordinate input

This commit is contained in:
yztink committed 2026-09-20 21:51:25 -07:00
1 parent c96de124b6
commit bc6ad1a5fe
2 files changed
+16 -13

No files matched your search

+8 -8
View File
@@ -556,15 +556,9 @@ impl OpenCADStudio {
if is_escape {
self.tabs[i].pending_pause_tokens = None;
}
let task = match result {
match result {
Some(r) => self.apply_cmd_result(r),
None => Task::none(),
};
if !is_escape && self.tabs[i].active_cmd.is_some() && self.tabs[i].pending_pause_tokens.is_some() {
let drain_task = self.drain_pending_pause_tokens(i);
Task::batch([task, drain_task])
} else {
task
}
}
@@ -1075,8 +1069,14 @@ impl OpenCADStudio {
self.tabs[i].scene.set_hover_highlight(None);
self.command_line.set_step_options(Vec::new());
self.restore_add_selected_defaults();
self.tabs[i].pending_pause_tokens = None;
}
if self.tabs[i].active_cmd.is_some() && self.tabs[i].pending_pause_tokens.is_some() {
let drain_task = self.drain_pending_pause_tokens(i);
Task::batch([task, drain_task])
} else {
task
}
task
}
/// Resolve the cell under `click` on table `handle` (or any table in the drawing