forked from enlightenment/efl
elm focus - fix focus composition prepare to not seg by unsafe list mods
efl_ui_focus_composition_prepare() methods in 2 widgets were modifying the list (removing items) as they walked, using unsafe walking macros. fix - use the safe variants.
This commit is contained in:
parent
7bf845b24c
commit
ba8a47a316
|
@ -17,13 +17,13 @@
|
|||
static void
|
||||
_elm_grid_efl_ui_focus_composition_prepare(Eo *obj, void *pd EINA_UNUSED)
|
||||
{
|
||||
Eina_List *l;
|
||||
Eina_List *l, *ll;
|
||||
Efl_Ui_Widget *elem;
|
||||
|
||||
Elm_Widget_Smart_Data *wpd = efl_data_scope_get(obj, EFL_UI_WIDGET_CLASS);
|
||||
Eina_List *order = evas_object_grid_children_get(wpd->resize_obj);
|
||||
|
||||
EINA_LIST_FOREACH(order, l, elem)
|
||||
EINA_LIST_FOREACH_SAFE(order, l, ll, elem)
|
||||
{
|
||||
if (!efl_isa(elem, EFL_UI_WIDGET_CLASS))
|
||||
order = eina_list_remove(order, elem);
|
||||
|
|
|
@ -18,13 +18,13 @@
|
|||
static void
|
||||
_elm_table_efl_ui_focus_composition_prepare(Eo *obj, void *pd EINA_UNUSED)
|
||||
{
|
||||
Eina_List *l;
|
||||
Eina_List *l, *ll;
|
||||
Efl_Ui_Widget *elem;
|
||||
|
||||
Elm_Widget_Smart_Data *wpd = efl_data_scope_get(obj, EFL_UI_WIDGET_CLASS);
|
||||
Eina_List *order = evas_object_table_children_get(wpd->resize_obj);
|
||||
|
||||
EINA_LIST_FOREACH(order, l, elem)
|
||||
EINA_LIST_FOREACH_SAFE(order, l, ll, elem)
|
||||
{
|
||||
if (!efl_isa(elem, EFL_UI_WIDGET_CLASS))
|
||||
order = eina_list_remove(order, elem);
|
||||
|
|
Loading…
Reference in New Issue