summaryrefslogtreecommitdiffstats
path: root/core/src/layout
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-03-24 03:02:26 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-01-04 06:53:07 +0100
commitaa3c956516a23af86dfb9d96b769e5f26addbe60 (patch)
treea3e7adfe14a4e1c562286d7c217e326f56f8fd8b /core/src/layout
parent89418c1244d14ac6020b31f3f1e19d15b4c0a272 (diff)
downloadiced-aa3c956516a23af86dfb9d96b769e5f26addbe60.tar.gz
iced-aa3c956516a23af86dfb9d96b769e5f26addbe60.tar.bz2
iced-aa3c956516a23af86dfb9d96b769e5f26addbe60.zip
Fix available space provided to children with non-fill main axis but fill cross axis
Diffstat (limited to 'core/src/layout')
-rw-r--r--core/src/layout/flex.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/core/src/layout/flex.rs b/core/src/layout/flex.rs
index 823fb9e6..5ae98b8c 100644
--- a/core/src/layout/flex.rs
+++ b/core/src/layout/flex.rs
@@ -139,10 +139,13 @@ where
);
if fill_main_factor != 0 || fill_cross_factor != 0 {
- let max_main =
- remaining * fill_main_factor as f32 / fill_main_sum as f32;
+ let max_main = if fill_main_factor == 0 {
+ available.max(0.0)
+ } else {
+ remaining * fill_main_factor as f32 / fill_main_sum as f32
+ };
- let min_main = if max_main.is_infinite() {
+ let min_main = if fill_main_factor == 0 || max_main.is_infinite() {
0.0
} else {
max_main