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.




SVN revision: 41342
This commit is contained in:
Gustavo Sverzut Barbieri 2009-07-15 00:11:04 +00:00
parent 7807fa64a0
commit 6103d8db01
1 changed files with 1 additions and 1 deletions

View File

@ -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();