From 2d3be6212ac08f1ff5bc30eb9edcc98dba1f6000 Mon Sep 17 00:00:00 2001 From: barbieri Date: Wed, 15 Jul 2009 00:11:04 +0000 Subject: [PATCH] oops, fix case of timers never being fired while we have idlers. To reach this case, have a timer that would not be fired on _ecore_main_loop_iterate_internal(), for example it's not ready yet (just_added==1), system would get into this inner loop and would never stop, since there is timer expired now (next_time == 0.0), if we go to start_loop it would just get into the same loop, not dispatching and timers. Python test 04-idler.py triggered that problem. git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@41342 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/ecore/ecore_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c index e620077..33fcb8a 100644 --- a/src/lib/ecore/ecore_main.c +++ b/src/lib/ecore/ecore_main.c @@ -663,7 +663,7 @@ _ecore_main_loop_iterate_internal(int once_only) if (_ecore_signal_count_get() > 0) have_signal = 1; if (have_event || have_signal) break; next_time = _ecore_timer_next_get(); - if (next_time < 0) goto start_loop; + if (next_time <= 0) break; if (do_quit) break; } _ecore_loop_time = ecore_time_get(); -- 2.7.4