@@ -7,7 +7,7 @@ void litehtml::flex_line::distribute_free_space(pixel_t container_main_size)
77 // Determine the used flex factor. Sum the outer hypothetical main sizes of all items on the line.
88 // If the sum is less than the flex container’s inner main size, use the flex grow factor for the
99 // rest of this algorithm; otherwise, use the flex shrink factor.
10- pixel_t initial_free_space = container_main_size - base_size ;
10+ pixel_t initial_free_space = container_main_size - main_size ;
1111 bool grow;
1212 int total_flex_factor;
1313 if (initial_free_space < 0 )
@@ -21,7 +21,7 @@ void litehtml::flex_line::distribute_free_space(pixel_t container_main_size)
2121 {
2222 for (auto &item : items)
2323 {
24- item->main_size += initial_free_space * item->shrink / 1000 ;
24+ item->main_size = item-> base_size + initial_free_space * item->shrink / 1000 ;
2525 }
2626 return ;
2727 }
@@ -36,7 +36,7 @@ void litehtml::flex_line::distribute_free_space(pixel_t container_main_size)
3636 {
3737 for (auto &item : items)
3838 {
39- item->main_size += initial_free_space * item->grow / 1000 ;
39+ item->main_size = item-> base_size + initial_free_space * item->grow / 1000 ;
4040 }
4141 return ;
4242 }
@@ -195,16 +195,16 @@ void litehtml::flex_line::init(pixel_t container_main_size, bool fit_container,
195195 const litehtml::containing_block_context &self_size,
196196 litehtml::formatting_context *fmt_ctx)
197197{
198- cross_size = 0 ;
199- main_size = 0 ;
200- first_baseline.set (0 , baseline::baseline_type_none);
201- last_baseline.set (0 , baseline::baseline_type_none);
202-
203198 if (!fit_container)
204199 {
205200 distribute_free_space (container_main_size);
206201 }
207202
203+ cross_size = 0 ;
204+ main_size = 0 ;
205+ first_baseline.set (0 , baseline::baseline_type_none);
206+ last_baseline.set (0 , baseline::baseline_type_none);
207+
208208 if (is_row_direction)
209209 {
210210 def_value<pixel_t > first_baseline_top = 0 ;
0 commit comments