diff options
author | Jaehyun Cho <jae_hyun.cho@samsung.com> | 2017-01-04 15:47:46 +0900 |
---|---|---|
committer | Jaehyun Cho <jae_hyun.cho@samsung.com> | 2017-01-20 16:31:06 +0900 |
commit | c0cb99117beffce9a63454a3b19c2cef0d5befdb (patch) | |
tree | c70377b028acfe7d40330c410a84d3149e7dc6f7 | |
parent | f8f8cde91cfd7194e6d2c8c48293e70b6378aa48 (diff) | |
download | efl-modules-c0cb99117beffce9a63454a3b19c2cef0d5befdb.tar.gz efl-modules-c0cb99117beffce9a63454a3b19c2cef0d5befdb.tar.bz2 efl-modules-c0cb99117beffce9a63454a3b19c2cef0d5befdb.zip |
naviframe_effect: Fix to deallocate data before calling smart callback
naviframe_effect allocates data for transition effect when item push/pop
is called.
naviframe_effect emits signal to call smart callback.
Previously, naviframe_effect deallocated data for transition effect
after emitting signal.
If application push/pop item in smart callback, then newly allocated
data in item push/pop is incorrectly deallocated.
This commit deallocates data before emitting signal to deallocate data
before calling smart callback.
Change-Id: Ic432418bc0152c6415efd27a682d78dd287108c7
-rw-r--r-- | naviframe_effect/naviframe_effect.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/naviframe_effect/naviframe_effect.c b/naviframe_effect/naviframe_effect.c index ed6ae29..6d16e80 100644 --- a/naviframe_effect/naviframe_effect.c +++ b/naviframe_effect/naviframe_effect.c @@ -79,13 +79,15 @@ _tizen_transit_del_cb(void *data, Elm_Transit *transit EINA_UNUSED) evas_object_freeze_events_set(nd->view, EINA_FALSE); nd->transit = NULL; - //Emit finished signal to finish view transition. - elm_object_signal_emit(nd->view, nd->signal, signal_source); - edje_object_message_signal_process(elm_layout_edje_get(nd->view)); + const char *signal = nd->signal; evas_object_data_del(nd->nf, key); nd_list = eina_list_remove(nd_list, nd); free(nd); + + //Emit finished signal to finish view transition. + elm_object_signal_emit(view, signal, signal_source); + edje_object_message_signal_process(elm_layout_edje_get(view)); } static Elm_Transit_Effect * |