fix(desktop): reject stale route owners before drag retirement

This commit is contained in:
2026-09-23 23:07:23 -07:00
parent 72b1bb7aa7
commit 6f247af795
3 changed files with 285 additions and 0 deletions
+9
View File
@@ -1320,6 +1320,15 @@ impl App {
{
return Task::none();
}
// Selection can change without advancing the captured canvas context.
if let Message::Route(
crate::route_edit::Event::Commit(captured, changed, ..)
| crate::route_edit::Event::CommitAttachment(captured, changed, ..),
) = &message
&& (self.route_context() != Some(*captured) || changed.edge != self.selected)
{
return Task::none();
}
if let Message::DiagramSelection(event)
| Message::StateDiagram(crate::behavior::state_edit::Event::Selection(event)) = &message
&& !self.multiselect_envelope(event)