efl_ui_table: update recalc boolean in child delete callback

Test Plan:
1. elementary_test -to 'efl.ui.table (linear api)'
2. Click `Append` button 3 times.
3. Click `appended 6` button to delete
4. Click `Append` button.
5. Check that `appended 7` button position (1,1).

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9856
This commit is contained in:
Yeongjong Lee 2019-09-06 09:20:13 +02:00 committed by Xavi Artigas
parent 65be14db24
commit 0c801b0d12
1 changed files with 8 additions and 0 deletions

View File

@ -58,6 +58,14 @@ _on_child_del(void *data, const Efl_Event *event)
gi = _efl_ui_table_item_date_get(table, pd, event->object);
if (!gi) return;
if ((gi->col == pd->last_col) && (gi->row == pd->last_row))
pd->linear_recalc = EINA_TRUE;
if (gi->col + gi->col_span >= pd->cols)
pd->cols_recalc = EINA_TRUE;
if (gi->row + gi->row_span >= pd->rows)
pd->rows_recalc = EINA_TRUE;
pd->items = (Table_Item *)
eina_inlist_remove(EINA_INLIST_GET(pd->items), EINA_INLIST_GET(gi));
free(gi);