diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index 2ad7bfc55e..797234794d 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/ChangeLog @@ -1146,3 +1146,6 @@ * Entry: Fixed a bug with text appending. +2013-03-13 WooHyun Jung + + * Fixed a bug in elm_list. Focus_next is needed only when access mode is enabled. diff --git a/legacy/elementary/NEWS b/legacy/elementary/NEWS index 39f1c1b7f6..ce8b37dca8 100644 --- a/legacy/elementary/NEWS +++ b/legacy/elementary/NEWS @@ -182,6 +182,7 @@ Fixes: * Remove the back button callback if the back button is unset on the naviframe. * Fixed a bug that naviframe's focus_next didn't work after changing evenry item to elm_layout. * Entry: Fixed a bug with text appending. + * Fixed a bug in elm_list. Focus_next is needed only when access mode is enabled. Removals: diff --git a/legacy/elementary/src/lib/elm_list.c b/legacy/elementary/src/lib/elm_list.c index 8a213cf083..673ba76d6b 100644 --- a/legacy/elementary/src/lib/elm_list.c +++ b/legacy/elementary/src/lib/elm_list.c @@ -1543,11 +1543,13 @@ _elm_list_smart_focus_next_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED *ret = EINA_TRUE; } +static Eina_Bool _elm_list_smart_focus_next_enable = EINA_FALSE; + static void _elm_list_smart_focus_direction_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) { Eina_Bool *ret = va_arg(*list, Eina_Bool *); - *ret = EINA_FALSE; + *ret = _elm_list_smart_focus_next_enable; } static void _elm_list_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list) @@ -1728,12 +1730,12 @@ static void _elm_list_smart_access(Eo *obj EINA_UNUSED, void *_pd, va_list *list) { Elm_List_Smart_Data *sd = _pd; - int is_access = va_arg(*list, int); + _elm_list_smart_focus_next_enable = va_arg(*list, int); Eina_List *elist = NULL; Elm_List_Item *it; EINA_LIST_FOREACH(sd->items, elist, it) - _access_widget_item_register(it, is_access); + _access_widget_item_register(it, _elm_list_smart_focus_next_enable); } EAPI Evas_Object * @@ -2523,6 +2525,9 @@ _class_constructor(Eo_Class *klass) }; eo_class_funcs_set(klass, func_desc); + if (_elm_config->access_mode) + _elm_list_smart_focus_next_enable = EINA_TRUE; + evas_smart_legacy_type_register(MY_CLASS_NAME, klass); }