fix mainloop begin/quit then begin again issue.
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 25 May 2012 09:18:48 +0000 (09:18 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 25 May 2012 09:18:48 +0000 (09:18 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@71419 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

ChangeLog
src/lib/ecore/ecore_main.c

index 5c99801..482c0e7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
         will hold a loop busy and not allow feedback workers to run,
         so now have fairer scheduling.
         * Allow 16 * cpu num for worker threads (default still cpu num)
+
+2012-05-25 Carsten Haitzler (The Rasterman)
+
+        * Fix ecore mainloop issue if you begin the mainloop, keep a
+        timer around, quit mainloop, then start it again expecting the timer
+        to keep ticking off. also happens to be an issuw with
+        iterating the mainloop.
+        
index 3107c3f..949a14c 100644 (file)
@@ -860,6 +860,7 @@ ecore_main_loop_iterate(void)
    EINA_MAIN_LOOP_CHECK_RETURN;
 #ifndef USE_G_MAIN_LOOP
    _ecore_lock();
+   _ecore_time_loop_time = ecore_time_get();
    _ecore_main_loop_iterate_internal(1);
    _ecore_unlock();
 #else
@@ -890,6 +891,7 @@ ecore_main_loop_iterate_may_block(int may_block)
    EINA_MAIN_LOOP_CHECK_RETURN_VAL(0);
 #ifndef USE_G_MAIN_LOOP
    _ecore_lock();
+   _ecore_time_loop_time = ecore_time_get();
 in_main_loop++;
    _ecore_main_loop_iterate_internal(!may_block);
 in_main_loop--;
@@ -925,6 +927,7 @@ ecore_main_loop_begin(void)
 #ifndef USE_G_MAIN_LOOP
    _ecore_lock();
    in_main_loop++;
+   _ecore_time_loop_time = ecore_time_get();
    while (do_quit == 0) _ecore_main_loop_iterate_internal(0);
    do_quit = 0;
    in_main_loop--;