parent
ff96904faa
commit
9e5eed53b1
|
@ -3,6 +3,7 @@
|
||||||
#include "edje_private.h"
|
#include "edje_private.h"
|
||||||
|
|
||||||
static Ecore_Job *job = NULL;
|
static Ecore_Job *job = NULL;
|
||||||
|
static Ecore_Timer *job_loss_timer = NULL;
|
||||||
|
|
||||||
static Evas_List *msgq = NULL;
|
static Evas_List *msgq = NULL;
|
||||||
static Evas_List *tmp_msgq = NULL;
|
static Evas_List *tmp_msgq = NULL;
|
||||||
|
@ -88,8 +89,28 @@ _edje_dummy_timer(void *data)
|
||||||
static void
|
static void
|
||||||
_edje_job(void *data)
|
_edje_job(void *data)
|
||||||
{
|
{
|
||||||
|
// printf("_edje_job()\n");
|
||||||
job = NULL;
|
job = NULL;
|
||||||
|
if (job_loss_timer)
|
||||||
|
{
|
||||||
|
ecore_timer_del(job_loss_timer);
|
||||||
|
job_loss_timer = NULL;
|
||||||
|
}
|
||||||
_edje_message_queue_process();
|
_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
|
void
|
||||||
|
@ -253,12 +274,12 @@ _edje_message_send(Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id, v
|
||||||
int i;
|
int i;
|
||||||
unsigned char *msg = NULL;
|
unsigned char *msg = NULL;
|
||||||
|
|
||||||
/* FIXME: for some reason we lose a job event along the way when in e17 */
|
if (!job)
|
||||||
/* we delete a border */
|
|
||||||
/* if (!job) */
|
|
||||||
{
|
{
|
||||||
/* job = */
|
// printf("no job... add\n");
|
||||||
ecore_job_add(_edje_job, NULL);
|
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);
|
em = _edje_message_new(ed, queue, type, id);
|
||||||
if (!em) return;
|
if (!em) return;
|
||||||
|
|
Loading…
Reference in New Issue