ami pushed a commit to branch elementary-1.16. http://git.enlightenment.org/core/elementary.git/commit/?id=112abbf507561363a70541d416310b287c138a74
commit 112abbf507561363a70541d416310b287c138a74 Author: Amitesh Singh <amitesh...@samsung.com> Date: Fri Nov 20 16:41:30 2015 +0530 notify: fix hide animation This feature has been added long time ago but it never worked before. I delayed the parent object hide call when hide signal is present in theme. Test: 1. elementary_test -to notify 2. Click Left and wait for timer to expire 3. Click Left and click "close" button on notify. Now hide animation happens when notify hides. @fix --- src/lib/elm_notify.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/src/lib/elm_notify.c b/src/lib/elm_notify.c index 3e78ad9..cec6104 100644 --- a/src/lib/elm_notify.c +++ b/src/lib/elm_notify.c @@ -247,7 +247,6 @@ _elm_notify_evas_object_smart_move(Eo *obj, Elm_Notify_Data *sd EINA_UNUSED, Eva static Eina_Bool _timer_cb(void *data) { - const char *hide_signal; Evas_Object *obj = data; ELM_NOTIFY_DATA_GET(obj, sd); @@ -255,16 +254,7 @@ _timer_cb(void *data) sd->timer = NULL; if (!evas_object_visible_get(obj)) goto end; - hide_signal = edje_object_data_get(sd->notify, "hide_finished_signal"); - if ((hide_signal) && (!strcmp(hide_signal, "on"))) - { - sd->in_timeout = EINA_TRUE; - edje_object_signal_emit(sd->notify, "elm,state,hide", "elm"); - } - else //for backport supporting: edc without emitting hide finished signal - { - evas_object_hide(obj); - } + evas_object_hide(obj); eo_do(obj, eo_event_callback_call(ELM_NOTIFY_EVENT_TIMEOUT, NULL)); end: @@ -302,7 +292,6 @@ _elm_notify_evas_object_smart_hide(Eo *obj, Elm_Notify_Data *sd) if (sd->had_hidden && !sd->in_timeout) return; - eo_do_super(obj, MY_CLASS, evas_obj_smart_hide()); hide_signal = edje_object_data_get(sd->notify, "hide_finished_signal"); if ((hide_signal) && (!strcmp(hide_signal, "on"))) @@ -312,6 +301,7 @@ _elm_notify_evas_object_smart_hide(Eo *obj, Elm_Notify_Data *sd) } else //for backport supporting: edc without emitting hide finished signal { + eo_do_super(obj, MY_CLASS, evas_obj_smart_hide()); evas_object_hide(sd->notify); if (sd->allow_events) evas_object_hide(sd->block_events); } @@ -431,7 +421,7 @@ _hide_finished_cb(void *data, sd->had_hidden = EINA_TRUE; evas_object_hide(sd->notify); if (!sd->allow_events) evas_object_hide(sd->block_events); - evas_object_hide(data); + eo_do_super(data, MY_CLASS, evas_obj_smart_hide()); } EOLIAN static void --