summaryrefslogtreecommitdiffstats
path: root/widget/src/lazy/responsive.rs
diff options
context:
space:
mode:
Diffstat (limited to 'widget/src/lazy/responsive.rs')
-rw-r--r--widget/src/lazy/responsive.rs17
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);
+ });
+ }
}