summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2021-07-15 17:32:02 +0200
committerLibravatar GitHub <noreply@github.com>2021-07-15 17:32:02 +0200
commita6dbaf0f5fd3590a8cfe92f924184c5d78e00152 (patch)
tree62953fe07b03c2ce97a7dcbac939b4a4f5667d22
parente5c958e9d60409814574b94548f2b941e4c36545 (diff)
parent4dc1bba5cdc68a7ff3fd3547bd06ff2aa6a7985d (diff)
downloadiced-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.rs18
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)
+ })
+ })
}
}