summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-07-15 16:43:52 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-07-15 16:43:52 +0200
commit2993e9b46674d976443abe1380c0e2b54f934a8e (patch)
tree1f1e2b87b7e3e7ddd69867cfbfc20deaff80dc36
parente5c958e9d60409814574b94548f2b941e4c36545 (diff)
downloadiced-2993e9b46674d976443abe1380c0e2b54f934a8e.tar.gz
iced-2993e9b46674d976443abe1380c0e2b54f934a8e.tar.bz2
iced-2993e9b46674d976443abe1380c0e2b54f934a8e.zip
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..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<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)
+ })
+ })
}
}