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

-- 


Reply via email to