Enlightenment CVS committal Author : raster Project : e17 Module : libs/edje
Dir : e17/libs/edje/src/lib Modified Files: edje_message_queue.c Log Message: working on fixing job loss... =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_message_queue.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- edje_message_queue.c 13 Jan 2005 15:42:56 -0000 1.15 +++ edje_message_queue.c 14 Jan 2005 04:50:29 -0000 1.16 @@ -3,6 +3,7 @@ #include "edje_private.h" static Ecore_Job *job = NULL; +static Ecore_Timer *job_loss_timer = NULL; static Evas_List *msgq = NULL; static Evas_List *tmp_msgq = NULL; @@ -88,8 +89,28 @@ static void _edje_job(void *data) { +// printf("_edje_job()\n"); job = NULL; + if (job_loss_timer) + { + ecore_timer_del(job_loss_timer); + job_loss_timer = NULL; + } _edje_message_queue_process(); +// printf("_edje_job() END\n"); +} + +static int +_edje_job_loss_timer(void *data) +{ + job_loss_timer = NULL; + if (job) + { +// printf("!!!!!!!!! EDJE!!! EEEK! lost a job!\n"); +// printf("!!! job = %p\n", job); + job = NULL; + } + return 0; } void @@ -253,12 +274,12 @@ int i; unsigned char *msg = NULL; -/* FIXME: for some reason we lose a job event along the way when in e17 */ -/* we delete a border */ -/* if (!job) */ + if (!job) { -/* job = */ - ecore_job_add(_edje_job, NULL); +// printf("no job... add\n"); + job = ecore_job_add(_edje_job, NULL); + if (job_loss_timer) ecore_timer_del(job_loss_timer); + job_loss_timer = ecore_timer_add(0.25, _edje_job_loss_timer, NULL); } em = _edje_message_new(ed, queue, type, id); if (!em) return; ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs