From 2920eda9e5c01fe3cb31d0d4b57382df1aae6d91 Mon Sep 17 00:00:00 2001 From: WooHyun Jung Date: Thu, 21 Nov 2013 10:13:40 +0900 Subject: [PATCH] elementary/elm_scroller.c : For checking focus next object, focus_direcion_get function should be changed to focus_next_get function. If there is no focus next object, focus_direction_get will be executed by focus_next_get. --- legacy/elementary/src/lib/elm_scroller.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/legacy/elementary/src/lib/elm_scroller.c b/legacy/elementary/src/lib/elm_scroller.c index 67ae134b18..b3082d9f45 100644 --- a/legacy/elementary/src/lib/elm_scroller.c +++ b/legacy/elementary/src/lib/elm_scroller.c @@ -151,31 +151,22 @@ _elm_scroller_smart_event(Eo *obj, void *_pd, va_list *list) } else { - Evas_Object *tmp = NULL; - double degree = 0.0, weight = 0.0; - void *(*list_data_get)(const Eina_List *list); - - list_data_get = eina_list_data_get; + Eina_Bool r = EINA_FALSE; if ((!strcmp(ev->key, "Left")) || (!strcmp(ev->key, "KP_Left"))) - degree = 270.0; + r = elm_widget_focus_next_get(obj, ELM_FOCUS_LEFT, &new_focus); else if ((!strcmp(ev->key, "Right")) || (!strcmp(ev->key, "KP_Right"))) - degree = 90.0; + r = elm_widget_focus_next_get(obj, ELM_FOCUS_RIGHT, &new_focus); else if ((!strcmp(ev->key, "Up")) || (!strcmp(ev->key, "KP_Up"))) - degree = 0.0; + r = elm_widget_focus_next_get(obj, ELM_FOCUS_UP, &new_focus); else if ((!strcmp(ev->key, "Down")) || (!strcmp(ev->key, "KP_Down"))) - degree = 180.0; + r = elm_widget_focus_next_get(obj, ELM_FOCUS_DOWN, &new_focus); - if (elm_widget_focus_list_direction_get - (obj, current_focus, can_focus_list, list_data_get, degree, - &tmp, &weight)) - new_focus = tmp; - - if (new_focus) + if (r && new_focus) { Evas_Coord l_x = 0; Evas_Coord l_y = 0;