diff options
Diffstat (limited to '')
-rw-r--r-- | native/src/element.rs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/native/src/element.rs b/native/src/element.rs index c881871a..b00f9e55 100644 --- a/native/src/element.rs +++ b/native/src/element.rs @@ -273,10 +273,10 @@ where self.widget.hash_layout(state); } - pub fn overlay( - &mut self, + pub fn overlay<'b>( + &'b mut self, layout: Layout<'_>, - ) -> Option<Overlay<'a, Message, Renderer>> { + ) -> Option<Overlay<'b, Message, Renderer>> { self.widget.overlay(layout) } } @@ -366,10 +366,12 @@ where fn overlay( &mut self, layout: Layout<'_>, - ) -> Option<Overlay<'a, B, Renderer>> { + ) -> Option<Overlay<'_, B, Renderer>> { + let mapper = self.mapper.clone(); + self.widget .overlay(layout) - .map(|overlay| overlay.map(self.mapper.clone())) + .map(move |overlay| overlay.map(mapper)) } } @@ -450,7 +452,7 @@ where fn overlay( &mut self, layout: Layout<'_>, - ) -> Option<Overlay<'a, Message, Renderer>> { + ) -> Option<Overlay<'_, Message, Renderer>> { self.element.overlay(layout) } } |