Fix implementation of Widget::overlay for pane_grid::TitleBar

This commit is contained in:
Héctor Ramón Jiménez 2021-07-15 16:43:52 +02:00
parent e5c958e9d6
commit 2993e9b466
No known key found for this signature in database
GPG key ID: 44B88EB52AB1EE8D

View file

@ -248,6 +248,22 @@ where
&mut self,
layout: Layout<'_>,
) -> Option<overlay::Element<'_, Message, Renderer>> {
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)
})
})
}
}