From 07513f59409b411f87abb6454ea99089245320db Mon Sep 17 00:00:00 2001 From: Sophie Herold Date: Sun, 13 Aug 2023 12:18:02 +0200 Subject: [PATCH] image: Don't render first tiles with zoom=1 Closes #145 Part-of: --- src/widgets/image.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/widgets/image.rs b/src/widgets/image.rs index 0d2c7e7..0d8ec11 100644 --- a/src/widgets/image.rs +++ b/src/widgets/image.rs @@ -592,8 +592,12 @@ mod imp { self.widget_dimensions.set((width, height)); obj.configure_adjustments(); - // Get potentially missing tiles for enlarged viewing area - obj.request_tiles(); + // Avoid updates for first size_allocate with zoom not set yet + if obj.is_loaded() { + // Get potentially missing tiles for enlarged viewing area + + obj.request_tiles(); + } } // called when the widget content should be re-rendered @@ -1251,6 +1255,10 @@ impl LpImage { } fn set_zoom_target(&self, zoom_target: f64) { + if self.imp().zoom_target.get() == zoom_target { + return; + } + log::debug!("Setting zoom target {zoom_target}"); self.imp().zoom_target.set(zoom_target);