ecore: reset during timer callback execution doesn't make sense.
authorCedric BAIL <cedric@osg.samsung.com>
Wed, 8 Feb 2017 00:32:22 +0000 (16:32 -0800)
committerCedric BAIL <cedric@osg.samsung.com>
Wed, 8 Feb 2017 00:39:02 +0000 (16:39 -0800)
@fix
T3222

src/lib/ecore/ecore_timer.c

index 5af5ff7..128158d 100644 (file)
@@ -300,6 +300,9 @@ _efl_loop_timer_reset(Eo *obj EINA_UNUSED, Efl_Loop_Timer_Data *timer)
    double now, add;
    EINA_MAIN_LOOP_CHECK_RETURN;
 
+   // Do not reset the current timer while inside the callback
+   if (timer_current == timer) return ;
+
    now = ecore_time_get();
 
    if (!timer->initialized)
@@ -321,6 +324,9 @@ _efl_loop_timer_loop_reset(Eo *obj EINA_UNUSED, Efl_Loop_Timer_Data *timer)
    double now, add;
    EINA_MAIN_LOOP_CHECK_RETURN;
 
+   // Do not reset the current timer while inside the callback
+   if (timer_current == timer) return ;
+
    now = ecore_loop_time_get();
 
    if (!timer->initialized)