forked from enlightenment/efl
working on fixign this weird job loss....
SVN revision: 12961
This commit is contained in:
parent
e7ff787ea6
commit
ff96904faa
|
@ -340,7 +340,10 @@ _ecore_event_call(void)
|
|||
e = (Ecore_Event *)ll;
|
||||
if (!ef->func_filter(ef->loop_data, ef->data,
|
||||
e->type, e->event))
|
||||
ecore_event_del(e);
|
||||
{
|
||||
// printf("FILTER SAID TO DEL ev %p\n", e->event);
|
||||
ecore_event_del(e);
|
||||
}
|
||||
}
|
||||
if (ef->func_end)
|
||||
ef->func_end(ef->data, ef->loop_data);
|
||||
|
@ -363,6 +366,7 @@ _ecore_event_call(void)
|
|||
}
|
||||
event_filters_delete_me = 0;
|
||||
}
|
||||
// printf("EVENT BATCH...\n");
|
||||
for (l = (Ecore_Oldlist *)events; l; l = l->next)
|
||||
{
|
||||
Ecore_Oldlist *ll;
|
||||
|
@ -376,6 +380,7 @@ _ecore_event_call(void)
|
|||
handle_count = 0;
|
||||
ecore_raw_event_type = e->type;
|
||||
ecore_raw_event_event = e->event;
|
||||
// printf("HANDLE ev type %i, %p\n", e->type, e->event);
|
||||
for (ll = (Ecore_Oldlist *)event_handlers; ll; ll = ll->next)
|
||||
{
|
||||
Ecore_Event_Handler *eh;
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#include "Ecore_Job.h"
|
||||
|
||||
static int _ecore_job_event_handler(void *data, int type, void *ev);
|
||||
static void _ecore_job_event_free(void *data, void *ev);
|
||||
|
||||
static int ecore_event_job_type = 0;
|
||||
|
||||
|
@ -31,7 +32,7 @@ ecore_job_add(void (*func) (void *data), const void *data)
|
|||
job = calloc(1, sizeof(Ecore_Job));
|
||||
if (!job) return NULL;
|
||||
ECORE_MAGIC_SET(job, ECORE_MAGIC_JOB);
|
||||
job->event = ecore_event_add(ecore_event_job_type, job, NULL, NULL);
|
||||
job->event = ecore_event_add(ecore_event_job_type, job, _ecore_job_event_free, NULL);
|
||||
if (!job->event)
|
||||
{
|
||||
free(job);
|
||||
|
@ -74,3 +75,12 @@ _ecore_job_event_handler(void *data, int type, void *ev)
|
|||
job->func(job->data);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
_ecore_job_event_free(void *data, void *ev)
|
||||
{
|
||||
Ecore_Job *job;
|
||||
|
||||
job = ev;
|
||||
free(ev);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue