From 2993e9b46674d976443abe1380c0e2b54f934a8e Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Thu, 15 Jul 2021 16:43:52 +0200 Subject: Fix implementation of `Widget::overlay` for `pane_grid::TitleBar` --- native/src/widget/pane_grid/title_bar.rs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'native/src/widget') diff --git a/native/src/widget/pane_grid/title_bar.rs b/native/src/widget/pane_grid/title_bar.rs index efdc1e54..48d24c41 100644 --- a/native/src/widget/pane_grid/title_bar.rs +++ b/native/src/widget/pane_grid/title_bar.rs @@ -248,6 +248,22 @@ where &mut self, layout: Layout<'_>, ) -> Option> { - self.content.overlay(layout) + let mut children = layout.children(); + let padded = children.next().unwrap(); + + let mut children = padded.children(); + let title_layout = children.next().unwrap(); + + let Self { + content, controls, .. + } = self; + + content.overlay(title_layout).or_else(move || { + controls.as_mut().and_then(|controls| { + let controls_layout = children.next().unwrap(); + + controls.overlay(controls_layout) + }) + }) } } -- cgit