From c49bd63cb7dbb6e045effaa56df86b3f100e6fe3 Mon Sep 17 00:00:00 2001 From: Shinwoo Kim Date: Tue, 11 Jun 2013 18:36:20 +0900 Subject: [PATCH] [access][win] use return value of elm_widget_focus_list_next_get(); to check the end of widget tree Change-Id: I3aacd6ce02bed9230b3c1313cedfb6162d52a87f --- src/lib/elm_win.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index 6340f80..730b97f 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -1095,6 +1095,7 @@ _elm_win_smart_focus_next(const Evas_Object *obj, Elm_Focus_Direction dir, Evas_Object **next) { + Eina_Bool ret; ELM_WIN_DATA_GET(obj, sd); const Eina_List *items; @@ -1111,7 +1112,12 @@ _elm_win_smart_focus_next(const Evas_Object *obj, } list_data_get = eina_list_data_get; - elm_widget_focus_list_next_get(obj, items, list_data_get, dir, next); + ret = elm_widget_focus_list_next_get(obj, items, list_data_get, dir, next); + + /* the result is used on the auto read mode. it would meet end of the + widget tree if it return EINA_FALSE. stop the auto read if ret is EINA_FALSE */ + if (_elm_config->access_mode && *next) + return ret; if (*next) return EINA_TRUE; -- 2.7.4