e17: use timer instead of idler again

SVN revision: 58699
This commit is contained in:
Hannes Janetzek 2011-04-16 12:22:57 +00:00
parent aa87cbeaaf
commit dc4b226de9
1 changed files with 8 additions and 9 deletions

View File

@ -12,7 +12,7 @@ struct _E_Widget_Data
struct
{
Eina_List *queue;
Ecore_Idler *idler;
Ecore_Timer *timer;
int count;
int show_nth;
int select_nth;
@ -48,7 +48,7 @@ static void _e_wid_cb_item_hilight(void *data, void *data2);
static void _e_wid_cb_selected(void *data, Evas_Object *obj, void *event_info);
static void _e_wid_focus_steal(void *data, Evas *e, Evas_Object *obj, void *event_info);
static Eina_Bool _queue_idler(void *data);
static Eina_Bool _queue_timer(void *data);
static void _queue_queue(Evas_Object *obj);
static void _queue_append(Evas_Object *obj, int command, Evas_Object *icon, Evas_Object *end, const char *label, int header, void (*func) (void *data), void *data, const char *val, int relative, int use_relative, int item);
static void _queue_remove(Evas_Object *obj, E_Widget_Queue_Item *qi, int del);
@ -72,7 +72,7 @@ static enum _Queue_Command
} Queue_Command;
static Eina_Bool
_queue_idler(void *data)
_queue_timer(void *data)
{
Evas_Object *obj;
E_Widget_Data *wd;
@ -81,7 +81,7 @@ _queue_idler(void *data)
obj = data;
wd = e_widget_data_get(obj);
wd->queue.idler = NULL;
wd->queue.timer = NULL;
e_widget_ilist_freeze(obj);
num = 0;
while (wd->queue.queue)
@ -212,9 +212,8 @@ _queue_queue(Evas_Object *obj)
wd = e_widget_data_get(obj);
if (!wd->queue.queue) return;
if (wd->queue.idler) return;
e_util_wakeup();
wd->queue.idler = ecore_idler_add(_queue_idler, obj);
if (wd->queue.timer) return;
wd->queue.timer = ecore_timer_add(0.00001, _queue_timer, obj);
}
static void
@ -268,8 +267,8 @@ _queue_clear(Evas_Object *obj)
wd = e_widget_data_get(obj);
while (wd->queue.queue)
_queue_remove(obj, eina_list_data_get(wd->queue.queue), 1);
if (wd->queue.idler) ecore_idler_del(wd->queue.idler);
wd->queue.idler = NULL;
if (wd->queue.timer) ecore_timer_del(wd->queue.timer);
wd->queue.timer = NULL;
}
/* externally accessible functions */