ami pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b938e2b5d873a98bad608e6856417d0bbabbbfc3

commit b938e2b5d873a98bad608e6856417d0bbabbbfc3
Author: Umesh Tanwar <[email protected]>
Date:   Tue Mar 14 14:24:16 2017 +0530

    ecore_animator: improve comparision check for stopping animator.
    
    Summary:
    Time cmparision does not ensure the corrctness of posotion.
    It is beacuse of double number calculation. Double number calculation
    are not convertable.for example:
       1/39 = 0.02564102564;
       but 0.02564102564 * 39 = 0.99999999996 != 1;
    
    The addition check for pos ensure the pos to be reached at its correct
    position.
    
    @fix
    
    Signed-off-by: Umesh Tanwar <[email protected]>
    
    Reviewers: cedric, singh.amitesh, jpeg, raster
    
    Reviewed By: raster
    
    Subscribers: atulfokk, cedric, jpeg
    
    Differential Revision: https://phab.enlightenment.org/D4709
    
    Signed-off-by: Amitesh Singh <[email protected]>
---
 src/lib/ecore/ecore_anim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/ecore/ecore_anim.c b/src/lib/ecore/ecore_anim.c
index 461d035..84e31e1 100644
--- a/src/lib/ecore/ecore_anim.c
+++ b/src/lib/ecore/ecore_anim.c
@@ -983,7 +983,7 @@ _ecore_animator_run(void *data)
           pos = 0.0;
      }
    run_ret = animator->run_func(animator->run_data, pos);
-   if (t >= (animator->start + animator->run)) run_ret = EINA_FALSE;
+   if (t >= (animator->start + animator->run) && (pos >= 1.0)) run_ret = 
EINA_FALSE;
    return run_ret;
 }
 

-- 


Reply via email to