[Upstream Merge : r55949]
authorDaniel Juyung Seo <juyung.seo@samsung.com>
Fri, 20 May 2011 06:37:50 +0000 (15:37 +0900)
committerDaniel Juyung Seo <juyung.seo@samsung.com>
Fri, 20 May 2011 06:37:50 +0000 (15:37 +0900)
Ecore ecore_main.c: Fixed
ecore_main_loop(_ecore_main_loop_iterate_internal).

This fixes fd handler pending issue when ecore_idler callback adds
ecore_job/event.

src/lib/ecore/ecore_main.c

index ec63b35..fcbbc4f 100644 (file)
@@ -1481,8 +1481,8 @@ _ecore_main_loop_iterate_internal(int once_only)
                   for (;;)
                     {
                        if (!_ecore_idler_call()) goto start_loop;
-                       if (_ecore_event_exist()) break;
                        if (_ecore_main_select(0.0) > 0) have_event = 1;
+                       if (_ecore_event_exist()) break;
                        if (_ecore_signal_count_get() > 0) have_signal = 1;
                        if (have_event || have_signal) break;
                        if (_ecore_timers_exists()) goto start_loop;
@@ -1504,8 +1504,8 @@ _ecore_main_loop_iterate_internal(int once_only)
                   for (;;)
                     {
                        if (!_ecore_idler_call()) goto start_loop;
-                       if (_ecore_event_exist()) break;
                        if (_ecore_main_select(0.0) > 0) have_event = 1;
+                       if (_ecore_event_exist()) break;
                        if (_ecore_signal_count_get() > 0) have_signal = 1;
                        if (have_event || have_signal) break;
                        next_time = _ecore_timer_next_get();