Hello all, With the up-to-date elm_genlist.c, my genlist app will crash. I ran it with valgrind and pasted parts of the report at the end of this email. I reverted to r47414 and it didn't complain anymore and with r47416, it complained. Diff of r47414 and r47416: Index: elm_genlist.c =================================================================== --- elm_genlist.c (revision 47414) +++ elm_genlist.c (revision 47416) @@ -1704,9 +1704,18 @@ _item_queue(Widget_Data *wd, Elm_Genlist_Item *it) { if (it->queued) return; - if (!wd->queue_idler) wd->queue_idler = ecore_idler_add(_item_idler, wd); it->queued = EINA_TRUE; wd->queue = eina_list_append(wd->queue, it); + while ((wd->queue) && ((!wd->blocks) || (!wd->blocks->next))) + { + if (wd->queue_idler) + { + ecore_idler_del(wd->queue_idler); + wd->queue_idler = NULL; + } + _item_idler(wd); + } + if (!wd->queue_idler) wd->queue_idler = ecore_idler_add(_item_idler, wd); }
==24485== Invalid read of size 1 ==24485== at 0x408401C: evas_object_smart_callback_call (evas_object_smart.c:509) ==24485== by 0x41D4CEB: _signal_clicked (elm_button.c:149) ==24485== by 0x471082E: edje_match_callback_exec_check_finals (edje_match.c:400) ==24485== by 0x4710C3D: edje_match_callback_exec (edje_match.c:536) ==24485== by 0x46FE380: _edje_emit_cb (edje_program.c:1280) ==24485== by 0x46FE268: _edje_emit_handle (edje_program.c:1243) ==24485== by 0x470DE00: _edje_message_process (edje_message_queue.c:612) ==24485== by 0x470E101: _edje_message_queue_process (edje_message_queue.c:692) ==24485== by 0x470D2BB: _edje_job (edje_message_queue.c:172) ==24485== by 0x41526D3: _ecore_job_event_handler (ecore_job.c:102) ==24485== by 0x414E03F: _ecore_event_call (ecore_events.c:550) ==24485== by 0x41538DC: _ecore_main_loop_iterate_internal (ecore_main.c:880) ==24485== Address 0x5d229cb is 219 bytes inside a block of size 220 free'd ==24485== at 0x4024836: free (vg_replace_malloc.c:325) ==24485== by 0x4079CDC: evas_object_free (evas_object_main.c:79) ==24485== by 0x40A935C: evas_render_updates_internal (evas_render.c:1129) ==24485== by 0x40A9689: evas_norender (evas_render.c:1248) ==24485== by 0x41EB48E: _item_block_recalc (elm_genlist.c:1013) ==24485== by 0x41ECF24: _item_idler (elm_genlist.c:1685) ==24485== by 0x41ED072: _item_queue (elm_genlist.c:1720) ==24485== by 0x41ED24F: elm_genlist_item_append (elm_genlist.c:1773) ==24485== by 0x6D454E7: musicBrowser_populate (musicBrowser.c:608) ==24485== by 0x6D446CE: _browser_item_play_clicked (musicBrowser.c:132) ==24485== by 0x4084018: evas_object_smart_callback_call (evas_object_smart.c:507) ==24485== by 0x41D4CEB: _signal_clicked (elm_button.c:149) ==24485== ==24485== Invalid read of size 4 ==24485== at 0x408405A: evas_object_smart_callback_call (evas_object_smart.c:513) ==24485== by 0x41D4CEB: _signal_clicked (elm_button.c:149) ==24485== by 0x471082E: edje_match_callback_exec_check_finals (edje_match.c:400) ==24485== by 0x4710C3D: edje_match_callback_exec (edje_match.c:536) ==24485== by 0x46FE380: _edje_emit_cb (edje_program.c:1280) ==24485== by 0x46FE268: _edje_emit_handle (edje_program.c:1243) ==24485== by 0x470DE00: _edje_message_process (edje_message_queue.c:612) ==24485== by 0x470E101: _edje_message_queue_process (edje_message_queue.c:692) ==24485== by 0x470D2BB: _edje_job (edje_message_queue.c:172) ==24485== by 0x41526D3: _ecore_job_event_handler (ecore_job.c:102) ==24485== by 0x414E03F: _ecore_event_call (ecore_events.c:550) ==24485== by 0x41538DC: _ecore_main_loop_iterate_internal (ecore_main.c:880) ==24485== Address 0x5d2e49c is 28 bytes inside a block of size 36 free'd ==24485== at 0x4024836: free (vg_replace_malloc.c:325) ==24485== by 0x4084F68: evas_object_smart_free (evas_object_smart.c:1029) ==24485== by 0x4079C09: evas_object_free (evas_object_main.c:62) ==24485== by 0x40A935C: evas_render_updates_internal (evas_render.c:1129) ==24485== by 0x40A9689: evas_norender (evas_render.c:1248) ==24485== by 0x41EB48E: _item_block_recalc (elm_genlist.c:1013) ==24485== by 0x41ECF24: _item_idler (elm_genlist.c:1685) ==24485== by 0x41ED072: _item_queue (elm_genlist.c:1720) ==24485== by 0x41ED24F: elm_genlist_item_append (elm_genlist.c:1773) ==24485== by 0x6D454E7: musicBrowser_populate (musicBrowser.c:608) ==24485== by 0x6D446CE: _browser_item_play_clicked (musicBrowser.c:132) ==24485== by 0x4084018: evas_object_smart_callback_call (evas_object_smart.c:507) ==24485== ==24485== Invalid write of size 4 ==24485== at 0x4084063: evas_object_smart_callback_call (evas_object_smart.c:513) ==24485== by 0x41D4CEB: _signal_clicked (elm_button.c:149) ==24485== by 0x471082E: edje_match_callback_exec_check_finals (edje_match.c:400) ==24485== by 0x4710C3D: edje_match_callback_exec (edje_match.c:536) ==24485== by 0x46FE380: _edje_emit_cb (edje_program.c:1280) ==24485== by 0x46FE268: _edje_emit_handle (edje_program.c:1243) ==24485== by 0x470DE00: _edje_message_process (edje_message_queue.c:612) ==24485== by 0x470E101: _edje_message_queue_process (edje_message_queue.c:692) ==24485== by 0x470D2BB: _edje_job (edje_message_queue.c:172) ==24485== by 0x41526D3: _ecore_job_event_handler (ecore_job.c:102) ==24485== by 0x414E03F: _ecore_event_call (ecore_events.c:550) ==24485== by 0x41538DC: _ecore_main_loop_iterate_internal (ecore_main.c:880) ==24485== Address 0x5d2e49c is 28 bytes inside a block of size 36 free'd ==24485== at 0x4024836: free (vg_replace_malloc.c:325) ==24485== by 0x4084F68: evas_object_smart_free (evas_object_smart.c:1029) ==24485== by 0x4079C09: evas_object_free (evas_object_main.c:62) ==24485== by 0x40A935C: evas_render_updates_internal (evas_render.c:1129) ==24485== by 0x40A9689: evas_norender (evas_render.c:1248) ==24485== by 0x41EB48E: _item_block_recalc (elm_genlist.c:1013) ==24485== by 0x41ECF24: _item_idler (elm_genlist.c:1685) ==24485== by 0x41ED072: _item_queue (elm_genlist.c:1720) ==24485== by 0x41ED24F: elm_genlist_item_append (elm_genlist.c:1773) ==24485== by 0x6D454E7: musicBrowser_populate (musicBrowser.c:608) ==24485== by 0x6D446CE: _browser_item_play_clicked (musicBrowser.c:132) ==24485== by 0x4084018: evas_object_smart_callback_call (evas_object_smart.c:507) ==24485== ==24485== Invalid read of size 4 ==24485== at 0x40849EC: evas_object_smart_callbacks_clear (evas_object_smart.c:866) ==24485== by 0x4084070: evas_object_smart_callback_call (evas_object_smart.c:514) ==24485== by 0x41D4CEB: _signal_clicked (elm_button.c:149) ==24485== by 0x471082E: edje_match_callback_exec_check_finals (edje_match.c:400) ==24485== by 0x4710C3D: edje_match_callback_exec (edje_match.c:536) ==24485== by 0x46FE380: _edje_emit_cb (edje_program.c:1280) ==24485== by 0x46FE268: _edje_emit_handle (edje_program.c:1243) ==24485== by 0x470DE00: _edje_message_process (edje_message_queue.c:612) ==24485== by 0x470E101: _edje_message_queue_process (edje_message_queue.c:692) ==24485== by 0x470D2BB: _edje_job (edje_message_queue.c:172) ==24485== by 0x41526D3: _ecore_job_event_handler (ecore_job.c:102) ==24485== by 0x414E03F: _ecore_event_call (ecore_events.c:550) ==24485== Address 0x5d229a8 is 184 bytes inside a block of size 220 free'd ==24485== at 0x4024836: free (vg_replace_malloc.c:325) ==24485== by 0x4079CDC: evas_object_free (evas_object_main.c:79) ==24485== by 0x40A935C: evas_render_updates_internal (evas_render.c:1129) ==24485== by 0x40A9689: evas_norender (evas_render.c:1248) ==24485== by 0x41EB48E: _item_block_recalc (elm_genlist.c:1013) ==24485== by 0x41ECF24: _item_idler (elm_genlist.c:1685) ==24485== by 0x41ED072: _item_queue (elm_genlist.c:1720) ==24485== by 0x41ED24F: elm_genlist_item_append (elm_genlist.c:1773) ==24485== by 0x6D454E7: musicBrowser_populate (musicBrowser.c:608) ==24485== by 0x6D446CE: _browser_item_play_clicked (musicBrowser.c:132) ==24485== by 0x4084018: evas_object_smart_callback_call (evas_object_smart.c:507) ==24485== by 0x41D4CEB: _signal_clicked (elm_button.c:149) ==24485== ==24485== Invalid read of size 4 ==24485== at 0x40849F8: evas_object_smart_callbacks_clear (evas_object_smart.c:868) ==24485== by 0x4084070: evas_object_smart_callback_call (evas_object_smart.c:514) ==24485== by 0x41D4CEB: _signal_clicked (elm_button.c:149) ==24485== by 0x471082E: edje_match_callback_exec_check_finals (edje_match.c:400) ==24485== by 0x4710C3D: edje_match_callback_exec (edje_match.c:536) ==24485== by 0x46FE380: _edje_emit_cb (edje_program.c:1280) ==24485== by 0x46FE268: _edje_emit_handle (edje_program.c:1243) ==24485== by 0x470DE00: _edje_message_process (edje_message_queue.c:612) ==24485== by 0x470E101: _edje_message_queue_process (edje_message_queue.c:692) ==24485== by 0x470D2BB: _edje_job (edje_message_queue.c:172) ==24485== by 0x41526D3: _ecore_job_event_handler (ecore_job.c:102) ==24485== by 0x414E03F: _ecore_event_call (ecore_events.c:550) ==24485== Address 0x5d2e49c is 28 bytes inside a block of size 36 free'd ==24485== at 0x4024836: free (vg_replace_malloc.c:325) ==24485== by 0x4084F68: evas_object_smart_free (evas_object_smart.c:1029) ==24485== by 0x4079C09: evas_object_free (evas_object_main.c:62) ==24485== by 0x40A935C: evas_render_updates_internal (evas_render.c:1129) ==24485== by 0x40A9689: evas_norender (evas_render.c:1248) ==24485== by 0x41EB48E: _item_block_recalc (elm_genlist.c:1013) ==24485== by 0x41ECF24: _item_idler (elm_genlist.c:1685) ==24485== by 0x41ED072: _item_queue (elm_genlist.c:1720) ==24485== by 0x41ED24F: elm_genlist_item_append (elm_genlist.c:1773) ==24485== by 0x6D454E7: musicBrowser_populate (musicBrowser.c:608) ==24485== by 0x6D446CE: _browser_item_play_clicked (musicBrowser.c:132) ==24485== by 0x4084018: evas_object_smart_callback_call (evas_object_smart.c:507) -- brian ------------------ Cool-Karaoke - The smallest recording studio, in your palm, open-sourced http://cool-idea.com.tw/ iMaGiNaTiOn iS mOrE iMpOrTaNt tHaN kNoWlEdGe ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel