summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_win.c
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-10-10 19:30:38 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-10-10 19:32:50 +0900
commit4c0167916bd472569a71f2888f32b49231dedb5e (patch)
treed8e01e1334af7886797adb639a54eeacc68efb0b /src/lib/elementary/efl_ui_win.c
parentf75d2e6be22187fd7428290469ec5a93bbc88200 (diff)
focus: Avoid infinite loop in window
I kept the safety error message for easier debugging. Test scenario: elementary_test -to "Window Inline" Click on an entry. Press Shift+Tab. Ping @bu5hm4n
Diffstat (limited to '')
-rw-r--r--src/lib/elementary/efl_ui_win.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 4a112e5b00..9f39bc4e42 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -1757,12 +1757,14 @@ _key_action_move(Evas_Object *obj, const char *params)
1757 1757
1758 do { 1758 do {
1759 last = efl_ui_focus_manager_logical_end(rec_manager); 1759 last = efl_ui_focus_manager_logical_end(rec_manager);
1760 EINA_SAFETY_ON_NULL_GOTO(last.element, end);
1760 efl_ui_focus_manager_focus_set(rec_manager, last.element); 1761 efl_ui_focus_manager_focus_set(rec_manager, last.element);
1761 1762
1762 rec_manager = efl_ui_focus_manager_redirect_get(rec_manager); 1763 rec_manager = efl_ui_focus_manager_redirect_get(rec_manager);
1763 } while (!last.is_regular_end); 1764 } while (!last.is_regular_end);
1764 } 1765 }
1765 1766
1767end:
1766 return EINA_TRUE; 1768 return EINA_TRUE;
1767} 1769}
1768 1770