Skip to content

Commit a3b1490

Browse files
committed
fixed panic when undocking window in docking manager
1 parent bce3229 commit a3b1490

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

rg3d-ui/src/lib.rs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -693,26 +693,26 @@ impl UserInterface {
693693
.nodes
694694
.try_borrow_dependant_mut(node_handle, |n| n.parent());
695695

696-
let widget = widget.unwrap();
696+
if let Some(widget) = widget {
697+
self.stack.extend_from_slice(widget.children());
698+
699+
let visibility = if let Some(parent) = parent {
700+
widget.visibility() && parent.is_globally_visible()
701+
} else {
702+
widget.visibility()
703+
};
697704

698-
self.stack.extend_from_slice(widget.children());
705+
if widget.prev_global_visibility != visibility {
706+
let _ = self
707+
.layout_events_sender
708+
.send(LayoutEvent::MeasurementInvalidated(node_handle));
709+
let _ = self
710+
.layout_events_sender
711+
.send(LayoutEvent::ArrangementInvalidated(node_handle));
712+
}
699713

700-
let visibility = if let Some(parent) = parent {
701-
widget.visibility() && parent.is_globally_visible()
702-
} else {
703-
widget.visibility()
704-
};
705-
706-
if widget.prev_global_visibility != visibility {
707-
let _ = self
708-
.layout_events_sender
709-
.send(LayoutEvent::MeasurementInvalidated(node_handle));
710-
let _ = self
711-
.layout_events_sender
712-
.send(LayoutEvent::ArrangementInvalidated(node_handle));
714+
widget.set_global_visibility(visibility);
713715
}
714-
715-
widget.set_global_visibility(visibility);
716716
}
717717
}
718718

0 commit comments

Comments
 (0)