genlist: recalc item size after item content field updated

Summary :
after item content fields updated, item and block should be
recalculated about it's height because content size can be updated.
if do not recaculate, items can be overlapped.

@fix
This commit is contained in:
SangHyeon Lee 2016-04-19 14:57:41 +09:00
parent ffede186c8
commit b48d3eb04e
1 changed files with 7 additions and 3 deletions

View File

@ -7083,8 +7083,9 @@ _elm_genlist_item_fields_update(Eo *eo_item EINA_UNUSED, Elm_Gen_Item *it,
&GL_IT(it)->deco_all_contents,
"contents", parts);
}
if (it->has_contents != (!!it->contents))
it->item->mincalcd = EINA_FALSE;
//forcely recalc about item because even same content, size can be changed.
it->item->mincalcd = EINA_FALSE;
it->item->block->must_recalc = EINA_TRUE;
it->has_contents = !!it->contents;
if (it->item->type == ELM_GENLIST_ITEM_NONE)
{
@ -7101,7 +7102,10 @@ _elm_genlist_item_fields_update(Eo *eo_item EINA_UNUSED, Elm_Gen_Item *it,
_item_state_realize(it, VIEW(it), parts);
if (!it->item->mincalcd)
elm_genlist_item_update(eo_item);
{
ELM_SAFE_FREE(it->item->wsd->calc_job, ecore_job_del);
it->item->wsd->calc_job = ecore_job_add(_calc_job, it->item->wsd->obj);
}
}
EOLIAN static void