Retire deleted saved-view owners after group model removal
This commit is contained in:
@@ -250,6 +250,23 @@ impl App {
|
|||||||
Ok(_) => {
|
Ok(_) => {
|
||||||
self.selected_node = None;
|
self.selected_node = None;
|
||||||
self.behavior.diagram.placement = 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
|
if self.page == Page::Behavior
|
||||||
&& let Some(machine) = machine.filter(|id| self.project().contains(*id))
|
&& let Some(machine) = machine.filter(|id| self.project().contains(*id))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user