diff options
author | SangHyeon Jade Lee <sh10233.lee@samsung.com> | 2020-02-24 08:52:09 -0500 |
---|---|---|
committer | Mike Blumenkrantz <zmike@samsung.com> | 2020-02-24 08:52:09 -0500 |
commit | 9cfb9aa603776464ade05be1846df56256975525 (patch) | |
tree | 110f7526bb5e1e9dded754e80daccaf47a09641f | |
parent | 9dfcd5f9ecc9f26c882c1314d2a30b1b5fe2d29e (diff) | |
download | efl-9cfb9aa603776464ade05be1846df56256975525.tar.gz |
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
-rw-r--r-- | src/lib/elementary/elm_gengrid.c | 5 | ||||
-rw-r--r-- | src/lib/elementary/elm_genlist.c | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/lib/elementary/elm_gengrid.c b/src/lib/elementary/elm_gengrid.c index df46609880..8a5bccaa2f 100644 --- a/src/lib/elementary/elm_gengrid.c +++ b/src/lib/elementary/elm_gengrid.c @@ -1261,12 +1261,13 @@ _elm_gengrid_item_unrealize(Elm_Gen_Item *it, ELM_SAFE_FREE(it->states, elm_widget_stringlist_free); 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->realized = 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); diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c index 3c586ca1e2..5da1517fc8 100644 --- a/src/lib/elementary/elm_genlist.c +++ b/src/lib/elementary/elm_genlist.c @@ -715,10 +715,11 @@ _elm_genlist_item_unrealize(Elm_Gen_Item *it, elm_wdg_item_track_cancel(EO_OBJ(it)); - _item_unrealize(it); if (!calc) efl_event_callback_legacy_call(WIDGET(it), ELM_GENLIST_EVENT_UNREALIZED, EO_OBJ(it)); + _item_unrealize(it); + evas_event_thaw(e); evas_event_thaw_eval(e); } |