From 3dc9e40bcbebbb217075296b538ce09e81941595 Mon Sep 17 00:00:00 2001 From: Sophie Herold Date: Wed, 3 May 2023 16:12:28 +0200 Subject: [PATCH] imageView: Fix vertical minimum size in measure --- data/gtk/window.ui | 4 ++-- src/widgets/image_view.rs | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/data/gtk/window.ui b/data/gtk/window.ui index f5a12ef..fc0f0ac 100644 --- a/data/gtk/window.ui +++ b/data/gtk/window.ui @@ -162,7 +162,7 @@ - + @@ -221,7 +221,7 @@ - + diff --git a/src/widgets/image_view.rs b/src/widgets/image_view.rs index e91d7c0..d16530a 100644 --- a/src/widgets/image_view.rs +++ b/src/widgets/image_view.rs @@ -210,8 +210,14 @@ mod imp { let (overlay1_min, _, _, _) = self.controls_box_start.measure(orientation, for_size); let (overlay2_min, _, _, _) = self.controls_box_end.measure(orientation, for_size); + let overlay_min = match orientation { + gtk::Orientation::Horizontal => overlay1_min + overlay2_min, + gtk::Orientation::Vertical => i32::max(overlay1_min, overlay2_min), + _ => unreachable!(), + }; + // take as minimum whatever is larger - let min = i32::max(child_min, overlay1_min + overlay2_min); + let min = i32::max(child_min, overlay_min); // take as natural whatever is larger let natural = i32::max(child_natural, min);