forked from enlightenment/efl
efl_ui/flow.box: fix item calc with mixed weights
if a box contains an entire row of items with weight(0), and the next row contains items with weights set, the item count must be correctly incremented so that the box uses the right items in its calculations @fix Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D9480
This commit is contained in:
parent
085de22d42
commit
fe849c9666
|
@ -193,6 +193,7 @@ _efl_ui_box_flow_efl_pack_layout_layout_update(Eo *obj, Efl_Ui_Box_Flow_Data *pd
|
||||||
|
|
||||||
cross_min_sum += row->cross_space;
|
cross_min_sum += row->cross_space;
|
||||||
cross_weight_sum += row->cross_weight;
|
cross_weight_sum += row->cross_weight;
|
||||||
|
item_last += row->item_count;
|
||||||
|
|
||||||
if (bd->homogeneous)
|
if (bd->homogeneous)
|
||||||
continue;
|
continue;
|
||||||
|
@ -205,7 +206,6 @@ _efl_ui_box_flow_efl_pack_layout_layout_update(Eo *obj, Efl_Ui_Box_Flow_Data *pd
|
||||||
calc_size = box_size;
|
calc_size = box_size;
|
||||||
inlist = NULL;
|
inlist = NULL;
|
||||||
|
|
||||||
item_last += row->item_count;
|
|
||||||
for (; i < item_last; i++)
|
for (; i < item_last; i++)
|
||||||
{
|
{
|
||||||
double denom;
|
double denom;
|
||||||
|
@ -246,6 +246,7 @@ _efl_ui_box_flow_efl_pack_layout_layout_update(Eo *obj, Efl_Ui_Box_Flow_Data *pd
|
||||||
else if (EINA_DBL_EQ(row->weight_sum, 0))
|
else if (EINA_DBL_EQ(row->weight_sum, 0))
|
||||||
{
|
{
|
||||||
row->cur_pos += (box_size - row->min_sum) * box_calc[axis].align;
|
row->cur_pos += (box_size - row->min_sum) * box_calc[axis].align;
|
||||||
|
i += row->item_count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue