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

Reply via email to