From 00e4de88bf8c3ce753ed0e277c167a813c97b299 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Sat, 26 Apr 2025 03:19:30 +0200 Subject: [PATCH] Return early when drawing `image::Overlay` if not visible --- widget/src/image.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/widget/src/image.rs b/widget/src/image.rs index 751e6eb9..fa40f441 100644 --- a/widget/src/image.rs +++ b/widget/src/image.rs @@ -536,11 +536,12 @@ where ) { let bounds = layout.bounds(); let clip_bounds = bounds.zoom(self.image.scale); - let style = theme.style(&self.image.class); - let clip_bounds = clip_bounds - .intersection(&self.viewport) - .unwrap_or(self.viewport); + let Some(clip_bounds) = clip_bounds.intersection(&self.viewport) else { + return; + }; + + let style = theme.style(&self.image.class); if style.shadow.color.a > 0.0 { renderer.with_layer(