forked from enlightenment/efl
elm : move unrealize callback call before the content caching.
Summary: item edje and contents are cached for performance improvement in genlist & gengrid. but to provide elm_genlist(gengrid)_all_contents_unset method before the contents are being cached, unrealize callback must be come before the unrealize process. currently, item_unrealize 1.unrealize process 2.contents cached 3.unrealize callback 4.all_contents_unset : nothing to unset in the item. by this patch, item_unrealize 1.unrealize callback 2.all_contents_unset : contents are unset. 3.unrealize process 4.contents(null) cached Reviewers: bu5hm4n, cedric, eagleeye, zmike Reviewed By: zmike Subscribers: zmike, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11402
This commit is contained in:
parent
9dfcd5f9ec
commit
9cfb9aa603
|
@ -1261,12 +1261,13 @@ _elm_gengrid_item_unrealize(Elm_Gen_Item *it,
|
||||||
ELM_SAFE_FREE(it->states, elm_widget_stringlist_free);
|
ELM_SAFE_FREE(it->states, elm_widget_stringlist_free);
|
||||||
elm_wdg_item_track_cancel(EO_OBJ(it));
|
elm_wdg_item_track_cancel(EO_OBJ(it));
|
||||||
|
|
||||||
|
if (!calc)
|
||||||
|
efl_event_callback_legacy_call(WIDGET(it), ELM_GENGRID_EVENT_UNREALIZED, EO_OBJ(it));
|
||||||
|
|
||||||
it->unrealize_cb(it);
|
it->unrealize_cb(it);
|
||||||
|
|
||||||
it->realized = EINA_FALSE;
|
it->realized = EINA_FALSE;
|
||||||
it->want_unrealize = EINA_FALSE;
|
it->want_unrealize = EINA_FALSE;
|
||||||
if (!calc)
|
|
||||||
efl_event_callback_legacy_call(WIDGET(it), ELM_GENGRID_EVENT_UNREALIZED, EO_OBJ(it));
|
|
||||||
|
|
||||||
{
|
{
|
||||||
ELM_GENGRID_DATA_GET_FROM_ITEM(it, sd);
|
ELM_GENGRID_DATA_GET_FROM_ITEM(it, sd);
|
||||||
|
|
|
@ -715,10 +715,11 @@ _elm_genlist_item_unrealize(Elm_Gen_Item *it,
|
||||||
|
|
||||||
elm_wdg_item_track_cancel(EO_OBJ(it));
|
elm_wdg_item_track_cancel(EO_OBJ(it));
|
||||||
|
|
||||||
_item_unrealize(it);
|
|
||||||
if (!calc)
|
if (!calc)
|
||||||
efl_event_callback_legacy_call(WIDGET(it), ELM_GENLIST_EVENT_UNREALIZED, EO_OBJ(it));
|
efl_event_callback_legacy_call(WIDGET(it), ELM_GENLIST_EVENT_UNREALIZED, EO_OBJ(it));
|
||||||
|
|
||||||
|
_item_unrealize(it);
|
||||||
|
|
||||||
evas_event_thaw(e);
|
evas_event_thaw(e);
|
||||||
evas_event_thaw_eval(e);
|
evas_event_thaw_eval(e);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue