Use Ecore_Job to do one shot delayed job.

SVN revision: 45024
This commit is contained in:
Sebastian Dransfeld 2010-01-10 18:49:05 +00:00
parent bc4e1d9872
commit 1f814d20e1
1 changed files with 8 additions and 9 deletions

View File

@ -87,8 +87,8 @@ struct _Instance
} timer; } timer;
struct struct
{ {
Ecore_Idler *size_apply; Ecore_Job *size_apply;
} idler; } job;
Eina_List *icons; Eina_List *icons;
E_Menu *menu; E_Menu *menu;
}; };
@ -200,20 +200,19 @@ _systray_size_apply_do(Instance *inst)
ecore_x_window_move_resize(inst->win.base, x, y, w, h); ecore_x_window_move_resize(inst->win.base, x, y, w, h);
} }
static int static void
_systray_size_apply_delayed(void *data) _systray_size_apply_delayed(void *data)
{ {
Instance *inst = data; Instance *inst = data;
_systray_size_apply_do(inst); _systray_size_apply_do(inst);
inst->idler.size_apply = NULL; inst->job.size_apply = NULL;
return 0;
} }
static void static void
_systray_size_apply(Instance *inst) _systray_size_apply(Instance *inst)
{ {
if (inst->idler.size_apply) return; if (inst->job.size_apply) return;
inst->idler.size_apply = ecore_idler_add(_systray_size_apply_delayed, inst); inst->job.size_apply = ecore_job_add(_systray_size_apply_delayed, inst);
} }
static void static void
@ -998,8 +997,8 @@ _gc_shutdown(E_Gadcon_Client *gcc)
ecore_event_handler_del(inst->handler.configure); ecore_event_handler_del(inst->handler.configure);
if (inst->timer.retry) if (inst->timer.retry)
ecore_timer_del(inst->timer.retry); ecore_timer_del(inst->timer.retry);
if (inst->idler.size_apply) if (inst->job.size_apply)
ecore_idler_del(inst->idler.size_apply); ecore_job_del(inst->job.size_apply);
if (instance == inst) if (instance == inst)
instance = NULL; instance = NULL;