diff options
Diffstat (limited to 'widget/src/lazy/responsive.rs')
-rw-r--r-- | widget/src/lazy/responsive.rs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/widget/src/lazy/responsive.rs b/widget/src/lazy/responsive.rs index dbf281f3..a7a99f56 100644 --- a/widget/src/lazy/responsive.rs +++ b/widget/src/lazy/responsive.rs @@ -320,7 +320,11 @@ where } .build(); - Some(overlay::Element::new(Box::new(overlay))) + if overlay.with_overlay(|(overlay, _layout)| overlay.is_some()) { + Some(overlay::Element::new(Box::new(overlay))) + } else { + None + } } } @@ -453,4 +457,15 @@ where }) .unwrap_or_default() } + + fn operate( + &mut self, + layout: Layout<'_>, + renderer: &Renderer, + operation: &mut dyn widget::Operation, + ) { + let _ = self.with_overlay_mut_maybe(|overlay| { + overlay.operate(layout, renderer, operation); + }); + } } |