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; } --
