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