From 84cd5ef56cefb2504465d2b6c771a8bab485d683 Mon Sep 17 00:00:00 2001 From: "sorokin.oleg.edu" Date: Thu, 24 Sep 2026 22:27:21 -0700 Subject: [PATCH] Retire deleted saved-view owners after group model removal --- crates/oa-desktop/src/app/saved_removal.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/crates/oa-desktop/src/app/saved_removal.rs b/crates/oa-desktop/src/app/saved_removal.rs index a9d5bf1d..4f6e8fbc 100644 --- a/crates/oa-desktop/src/app/saved_removal.rs +++ b/crates/oa-desktop/src/app/saved_removal.rs @@ -250,6 +250,23 @@ impl App { Ok(_) => { self.selected_node = None; self.behavior.diagram.placement = None; + // A selected machine can own the current saved view. Retire + // those UI references only after its transaction succeeds. + if self + .behavior + .active_owner + .is_some_and(|id| !self.project().contains(id)) + { + self.behavior.active_owner = None; + } + if self + .behavior + .diagram + .diagram + .is_some_and(|id| !self.project().diagrams.contains_key(&id)) + { + self.behavior.diagram = Default::default(); + } if self.page == Page::Behavior && let Some(machine) = machine.filter(|id| self.project().contains(*id)) {