diff options
author | 2023-03-24 03:02:26 +0100 | |
---|---|---|
committer | 2024-01-04 06:53:07 +0100 | |
commit | aa3c956516a23af86dfb9d96b769e5f26addbe60 (patch) | |
tree | a3e7adfe14a4e1c562286d7c217e326f56f8fd8b /core/src/layout | |
parent | 89418c1244d14ac6020b31f3f1e19d15b4c0a272 (diff) | |
download | iced-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.rs | 9 |
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 |