Avoid getting stuck into ecore main loop dispatchers.
The old way we could run endless with the following case:
int my_buggy_idler(void *data) {
ecore_idler_add(my_buggy_idler, NULL);
return 0;
}
since it would append to that list, then the list would never end.
Now we just dispatch up to the last know idler, then go back to
regular processing, if nothing happens we'll be back to dispatch
again.
I tested it here and works fine, but might show issues with ecore
enterers/exiters of some applications that rely on the old (broken)
behavior.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@40847
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33