diff options
Diffstat (limited to 'components')
-rw-r--r-- | components/layout_2020/flexbox/layout.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/components/layout_2020/flexbox/layout.rs b/components/layout_2020/flexbox/layout.rs index e4e59379d1e..a420ac4fdac 100644 --- a/components/layout_2020/flexbox/layout.rs +++ b/components/layout_2020/flexbox/layout.rs @@ -976,10 +976,12 @@ impl FlexLine<'_> { let scaled_shrink_factors_sum: Length = unfrozen_items() .map(|(item, _)| scaled_shrink_factor(item)) .sum(); - for (item, target_main_size) in unfrozen_items() { - let ratio = scaled_shrink_factor(item) / scaled_shrink_factors_sum; - target_main_size - .set(item.flex_base_size - remaining_free_space.abs() * ratio); + if scaled_shrink_factors_sum > Length::zero() { + for (item, target_main_size) in unfrozen_items() { + let ratio = scaled_shrink_factor(item) / scaled_shrink_factors_sum; + target_main_size + .set(item.flex_base_size - remaining_free_space.abs() * ratio); + } } } } |