Replace with if statements and stub epoll calls, and let the
compiler optimize out the stub code.
Signed-off-by: Mike McCormack <mj.mccormack@samsung.com>
SVN revision: 61081
Introduce stub timerfd_create and timerfd_settime functions
so ifdefs can be removed.
Signed-off-by: Mike McCormack <mj.mccormack@samsung.com>
SVN revision: 61080
glib only allows millisecond resolution in g_main_loop.
To avoid this limitation, use timerfd to wake up the main loop.
Signed-off-by: Mike McCormack <mj.mccormack@samsung.com>
SVN revision: 61079
Rearrange the the order of startup to avoid triggering
the thread checks in ecore_event_type_new().
Signed-off-by: Mike McCormack <mj.mccormack@samsung.com>
SVN revision: 61040
The g_main_loop was spinning waiting for timers that were
almost ready. The spinning was due to waking up from
the g_main_loop too early, and then having nothing to do.
To solve this, round the timeout up to the nearest millisecond,
so that when the main loop wakes, the timer will definitely be
ready.
Signed-off-by: Mike McCormack <mj.mccormack@samsung.com>
SVN revision: 61028
Subject: [E-devel] [patch] evas - add checking event type
Dear developers.
I found a bug about evas event handling.
In some situation, evas blocks some events by checking _evas_event_counter.
So I made a patch that is checking event type also event counter.
Reproduce steps:
1. make a window
2. show window before adding a elementary/genlist widget
--- codes ---
void _gl_mousedown_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
{
printf("_gl_mousedown_cb !! \n");
}
static Eina_Bool create_main_win(App *app)
{
app->win = elm_win_add(NULL, "genlist-win", ELM_WIN_BASIC);
evas_object_show(app->win); <-- position 1
Evas_Object *genlist = elm_genlist_add(app->win);
elm_win_resize_object_add(app->win, genlist);
evas_object_event_callback_add(genlist, EVAS_CALLBACK_MOUSE_DOWN, _gl_mousedown_cb, NULL);
evas_object_show(genlist);
evas_object_resize(app->win, 320, 240);
//evas_object_show(app->win); <-- position 2
return EINA_TRUE;
}
--- codes ---
In common use case, apps don't show main window at position 1.
However to reproduce, it can be at position 1. Then, focus is at just on main window.
In that situation, if a user clicks a genlist, its event is dropped by evas.
Because in mouse down callback, it give focus to genlist.
Then two events is made. First is mouse down, second is focus handling.
In event callback, evas processes mouse down after focus handling.
But evas found that mouse event is retarded event than focus handling.
So it ignores it.
This patch is introduce event handling type checking to
evas_object_event_callback_call.
SVN revision: 61026