diff options
author | 2021-07-15 17:32:02 +0200 | |
---|---|---|
committer | 2021-07-15 17:32:02 +0200 | |
commit | a6dbaf0f5fd3590a8cfe92f924184c5d78e00152 (patch) | |
tree | 62953fe07b03c2ce97a7dcbac939b4a4f5667d22 | |
parent | e5c958e9d60409814574b94548f2b941e4c36545 (diff) | |
parent | 4dc1bba5cdc68a7ff3fd3547bd06ff2aa6a7985d (diff) | |
download | iced-a6dbaf0f5fd3590a8cfe92f924184c5d78e00152.tar.gz iced-a6dbaf0f5fd3590a8cfe92f924184c5d78e00152.tar.bz2 iced-a6dbaf0f5fd3590a8cfe92f924184c5d78e00152.zip |
Merge pull request #953 from hecrj/fix/pane-grid-title-bar-overlay
Fix implementation of `Widget::overlay` for `pane_grid::TitleBar`
-rw-r--r-- | native/src/widget/pane_grid/title_bar.rs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/native/src/widget/pane_grid/title_bar.rs b/native/src/widget/pane_grid/title_bar.rs index efdc1e54..070010f8 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<overlay::Element<'_, Message, Renderer>> { - self.content.overlay(layout) + let mut children = layout.children(); + let padded = children.next()?; + + let mut children = padded.children(); + let title_layout = children.next()?; + + let Self { + content, controls, .. + } = self; + + content.overlay(title_layout).or_else(move || { + controls.as_mut().and_then(|controls| { + let controls_layout = children.next()?; + + controls.overlay(controls_layout) + }) + }) } } |