On Wed, Jan 4, 2012 at 2:34 PM, Gustavo Sverzut Barbieri
<[email protected]> wrote:
> Hey guys,
>
> Strange behavior happening with SVN head using elm_genlist inside
> elm_naviframe, the code is in enjoy's "preferences" and can be
> reproduced as (use svn version):
>
>  - gdb enjoy
>  - b preferences_db_clear
>  - continue
>  - click "Preferences"
>  - click "Clear"
>
> See that preferences_db_clear() is being called twice. If you change
> enjoy's code and comment out this from
> preferences.c:preferences_db_clear():
>
>   elm_genlist_item_selected_set(it, EINA_FALSE);
>
> then it will emit only once. However, as used in other parts of enjoy,
> once the genlist item is clicked, it is unselected and the action is
> done (ie: push a new page). With every other code it works nicely, but
> none of them are using elm_naviframe.
>
> The backtrace seems strange, the event id and all are the same, see
> http://pastebin.com/uz1CUCgv
>
> Breakpoint 1, preferences_db_clear (data=0x7ffff2e80690, obj=0x7ffff2e80d50,
>    event_info=0x7fffec0b0560) at preferences.c:14
> 14         Elm_Genlist_Item *it = event_info;
> (gdb) bt
> #0  preferences_db_clear (data=0x7ffff2e80690, obj=0x7ffff2e80d50,
>    event_info=0x7fffec0b0560) at preferences.c:14
> #1  0x00007ffff7cf48ed in _item_select (it=0x7fffec0b0560)
>    at elm_genlist.c:3199
> #2  0x00007ffff7cee575 in _mouse_up (data=0x7fffec0b0560, evas=0x69c390,
>    obj=0x7ffff2e86510, event_info=0x7fffffffd820) at elm_genlist.c:1382
> #3  0x00007ffff643dd0e in evas_object_event_callback_call (obj=0x7ffff2e86510,
>    type=EVAS_CALLBACK_MOUSE_UP, event_info=0x7fffffffd820, event_id=7537)
>    at evas_callbacks.c:224
> #4  0x00007ffff643de10 in evas_object_event_callback_call (obj=0x7ffff2e86bd0,
>    type=EVAS_CALLBACK_MOUSE_UP, event_info=0x7fffffffd820, event_id=7537)
>    at evas_callbacks.c:253
> #5  0x00007ffff6441ede in evas_event_feed_mouse_up (e=0x69c390, b=1,
>    flags=EVAS_BUTTON_NONE, timestamp=97221669, data=0x0) at evas_events.c:466
> #6  0x00007ffff4e250be in _ecore_event_evas_mouse_button (e=0x7fffec015d10,
>    press=ECORE_UP) at ecore_input_evas.c:177
> #7  0x00007ffff4e2551d in ecore_event_evas_mouse_button_up (data=0x0, type=20,
>    event=0x7fffec015d10) at ecore_input_evas.c:266
> #8  0x00007ffff5d24d9f in _ecore_call_handler_cb (
>    func=0x7ffff4e254f9 <ecore_event_evas_mouse_button_up>, data=0x0, type=20,
>    event=0x7fffec015d10) at ecore_private.h:317
> #9  0x00007ffff5d25d89 in _ecore_event_call () at ecore_events.c:704
> #10 0x00007ffff5d2ccf0 in _ecore_main_loop_iterate_internal (once_only=0)
>    at ecore_main.c:1844
> #11 0x00007ffff5d2b5a1 in ecore_main_loop_begin () at ecore_main.c:887
> #12 0x00007ffff7d1c8b3 in elm_run () at elm_main.c:836
> #13 0x0000000000409286 in elm_main (argc=1, argv=0x7fffffffdb98) at main.c:498
> #14 0x00000000004092e2 in main (argc=1, argv=0x7fffffffdb98) at main.c:512
> (gdb) c
> Continuing.
>
> Breakpoint 1, preferences_db_clear (data=0x7ffff2e80690, obj=0x7ffff2e80d50,
>    event_info=0x7fffec0b0560) at preferences.c:14
> 14         Elm_Genlist_Item *it = event_info;
> (gdb) bt
> #0  preferences_db_clear (data=0x7ffff2e80690, obj=0x7ffff2e80d50,
>    event_info=0x7fffec0b0560) at preferences.c:14
> #1  0x00007ffff7cf48ed in _item_select (it=0x7fffec0b0560)
>    at elm_genlist.c:3199
> #2  0x00007ffff7cee575 in _mouse_up (data=0x7fffec0b0560, evas=0x69c390,
>    obj=0x7ffff2e86510, event_info=0x7fffffffd820) at elm_genlist.c:1382
> #3  0x00007ffff643dd0e in evas_object_event_callback_call (obj=0x7ffff2e86510,
>    type=EVAS_CALLBACK_MOUSE_UP, event_info=0x7fffffffd820, event_id=7537)
>    at evas_callbacks.c:224
> #4  0x00007ffff643de10 in evas_object_event_callback_call (obj=0x7ffff2e86870,
>    type=EVAS_CALLBACK_MOUSE_UP, event_info=0x7fffffffd820, event_id=7537)
>    at evas_callbacks.c:253
> #5  0x00007ffff6441ede in evas_event_feed_mouse_up (e=0x69c390, b=1,
>    flags=EVAS_BUTTON_NONE, timestamp=97221669, data=0x0) at evas_events.c:466
> #6  0x00007ffff4e250be in _ecore_event_evas_mouse_button (e=0x7fffec015d10,
>    press=ECORE_UP) at ecore_input_evas.c:177
> #7  0x00007ffff4e2551d in ecore_event_evas_mouse_button_up (data=0x0, type=20,
>    event=0x7fffec015d10) at ecore_input_evas.c:266
> #8  0x00007ffff5d24d9f in _ecore_call_handler_cb (
>    func=0x7ffff4e254f9 <ecore_event_evas_mouse_button_up>, data=0x0, type=20,
>    event=0x7fffec015d10) at ecore_private.h:317
> #9  0x00007ffff5d25d89 in _ecore_event_call () at ecore_events.c:704
> #10 0x00007ffff5d2ccf0 in _ecore_main_loop_iterate_internal (once_only=0)
>    at ecore_main.c:1844
> #11 0x00007ffff5d2b5a1 in ecore_main_loop_begin () at ecore_main.c:887
> #12 0x00007ffff7d1c8b3 in elm_run () at elm_main.c:836
> #13 0x0000000000409286 in elm_main (argc=1, argv=0x7fffffffdb98) at main.c:498
> #14 0x00000000004092e2 in main (argc=1, argv=0x7fffffffdb98) at main.c:512

Debugging seems it's something to do with evas, adding some printfs I
have the following log. Nothing conclusive, but may help:

-- genlist + pager --

UP: cb=0x7fea8edbb57f, event_id=7081 l=0x95eab0
PROPAGATE!!!!
UP: cb=0x7fea8eda04e9, event_id=7081 l=0x95ee30
PROPAGATE!!!!
UP: cb=0x7fea8cf80634, event_id=7081 l=0x95f2f0
PROPAGATE!!!!
UP: cb=0x7fea8eda04e9, event_id=7081 l=0x95bc30
PROPAGATE!!!!
UP: cb=0x7fea8cf80634, event_id=7081 l=0x95e970
PROPAGATE!!!!
UP: cb=0x7fea8eda04e9, event_id=7081 l=0x95bdb0
PROPAGATE!!!!
UP: cb=0x7fea8cf80634, event_id=7081 l=0x95a630
PROPAGATE!!!!
PROPAGATE!!!!
UP: cb=0x7fea8cf80634, event_id=7081 l=0x9499b0
PROPAGATE!!!!
UP: cb=0x7fea8eda04e9, event_id=7081 l=0x940f30
PROPAGATE!!!!
UP: cb=0x7fea8cf80634, event_id=7081 l=0x94f8f0
PROPAGATE!!!!
UP: cb=0x7fea8ed1ff60, event_id=7081 l=0xe831a0
GENLIST MOUSE UP!!!!!
_item_select!
elm_genlist_item_selected_set!
PROPAGATE!!!!
UP: cb=0x7fea8cf80634, event_id=7081 l=0x95eff0
PROPAGATE!!!!


-- broken: genlist + naviframe --

UP: cb=0x7f01797eb57f, event_id=8014 l=0x2665070
PROPAGATE!!!!
UP: cb=0x7f01797d04e9, event_id=8014 l=0x26653f0
PROPAGATE!!!!
UP: cb=0x7f01779b0634, event_id=8014 l=0x26675b0
PROPAGATE!!!!
PROPAGATE!!!!
UP: cb=0x7f01797d04e9, event_id=8014 l=0x26649f0
PROPAGATE!!!!
UP: cb=0x7f01779b0634, event_id=8014 l=0x2667ab0
PROPAGATE!!!!
PROPAGATE!!!!
UP: cb=0x7f01779b0634, event_id=8014 l=0x265e9b0
PROPAGATE!!!!
UP: cb=0x7f01797d04e9, event_id=8014 l=0x2655f30
PROPAGATE!!!!
UP: cb=0x7f01779b0634, event_id=8014 l=0x2666230
PROPAGATE!!!!
UP: cb=0x7f017974ff60, event_id=8014 l=0x2660b70
GENLIST MOUSE UP!!!!!
_item_select!
UNSELECTING ITEM...
elm_genlist_item_selected_set!
UNSELECTED ITEM!
PROPAGATE!!!!
UP: cb=0x7f01779b0634, event_id=8014 l=0x26655b0
PROPAGATE!!!!
UP: cb=0x7f01779b0634, event_id=8014 l=0x2666070
PROPAGATE!!!!
UP: cb=0x7f017974ff60, event_id=8014 l=0x2660b70
GENLIST MOUSE UP!!!!!
_item_select!
UNSELECTING ITEM...
elm_genlist_item_selected_set!
UNSELECTED ITEM!
PROPAGATE!!!!
UP: cb=0x7f01779b0634, event_id=8014 l=0x26655b0
PROPAGATE!!!!
UP: cb=0x7f01779b0634, event_id=8014 l=0x2664b30
PROPAGATE!!!!
UP: cb=0x7f01797d04e9, event_id=8014 l=0x26649f0
PROPAGATE!!!!
UP: cb=0x7f01779b0634, event_id=8014 l=0x2667ab0
PROPAGATE!!!!
PROPAGATE!!!!
UP: cb=0x7f01779b0634, event_id=8014 l=0x265e9b0
PROPAGATE!!!!
UP: cb=0x7f01797d04e9, event_id=8014 l=0x2655f30
PROPAGATE!!!!

callback 0x7f017974ff60  (elm_genlist.c:_mouse_up) is getting into the
list twice :-/

-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--------------------------------------
MSN: [email protected]
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202

------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual 
desktops for less than the cost of PCs and save 60% on VDI infrastructure 
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to