On Mon, 27 Jun 2011 18:24:57 +0900 Hyoyoung Chang <[email protected]>
said:

in svn! thanks very muchly! :)

> 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.
> 
> Thank you.


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    [email protected]


------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security 
threats, fraudulent activity, and more. Splunk takes this data and makes 
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to