Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore Modified Files: Tag: SPLIT ecore_main.c ecore_private.h ecore_timer.c Log Message: smoother timer behavior! :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore/Attic/ecore_main.c,v retrieving revision 1.1.2.12 retrieving revision 1.1.2.13 diff -u -3 -r1.1.2.12 -r1.1.2.13 --- ecore_main.c 28 May 2003 05:53:07 -0000 1.1.2.12 +++ ecore_main.c 19 Jun 2003 13:00:00 -0000 1.1.2.13 @@ -43,6 +43,8 @@ while (_ecore_timer_call(now)); _ecore_timer_cleanup(); } + /* any timers re-added as a result of these are allowed to go */ + _ecore_timer_enable_new(); /* process signals into events .... */ while (_ecore_signal_count_get()) _ecore_signal_call(); if (_ecore_event_exist()) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore/Attic/ecore_private.h,v retrieving revision 1.1.2.12 retrieving revision 1.1.2.13 diff -u -3 -r1.1.2.12 -r1.1.2.13 --- ecore_private.h 8 Apr 2003 08:03:20 -0000 1.1.2.12 +++ ecore_private.h 19 Jun 2003 13:00:00 -0000 1.1.2.13 @@ -142,6 +142,7 @@ void _ecore_timer_shutdown(void); void _ecore_timer_cleanup(void); +void _ecore_timer_enable_new(void); double _ecore_timer_next_get(void); int _ecore_timer_call(double when); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore/Attic/ecore_timer.c,v retrieving revision 1.1.2.10 retrieving revision 1.1.2.11 diff -u -3 -r1.1.2.10 -r1.1.2.11 --- ecore_timer.c 27 Feb 2003 01:58:12 -0000 1.1.2.10 +++ ecore_timer.c 19 Jun 2003 13:00:00 -0000 1.1.2.11 @@ -5,6 +5,7 @@ static void _ecore_timer_set(Ecore_Timer *timer, double at, double in, int (*func) (void *data), void *data); +static int timers_added = 0; static int timers_delete_me = 0; static Ecore_Timer *timers = NULL; @@ -146,14 +147,13 @@ timers_delete_me = 0; } -double -_ecore_timer_next_get(void) +void +_ecore_timer_enable_new(void) { Ecore_List *l; - double now; - double in; - - if (!timers) return -1; + + if (!timers_added) return; + timers_added = 0; for (l = (Ecore_List *)timers; l; l = l->next) { Ecore_Timer *timer; @@ -161,6 +161,15 @@ timer = (Ecore_Timer *)l; timer->just_added = 0; } +} + +double +_ecore_timer_next_get(void) +{ + double now; + double in; + + if (!timers) return -1; now = ecore_time_get(); in = timers->at - now; if (in < 0) in = 0; @@ -198,6 +207,7 @@ { Ecore_List *l; + timers_added = 1; timer->at = at; timer->in = in; timer->func = func; ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs