summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <marcel@osg.samsung.com>2017-10-25 14:29:31 +0200
committerMarcel Hollerbach <marcel@osg.samsung.com>2017-10-25 14:36:13 +0200
commit5a3ee984a1229c069c84e71a109a7d39437d5cc0 (patch)
tree7a713e249080065728008ea2f8cdd7490d0e4618
parent53fcc4bb7de3bfc9c69f6e138bc25a1f52a49744 (diff)
downloadefl-5a3ee984a1229c069c84e71a109a7d39437d5cc0.tar.gz
elm_box: only allow focus to widgets of a box
all other should not get focus
-rw-r--r--src/lib/elementary/elm_box.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/elementary/elm_box.c b/src/lib/elementary/elm_box.c
index 07dee748ed..10ede30361 100644
--- a/src/lib/elementary/elm_box.c
+++ b/src/lib/elementary/elm_box.c
@@ -26,9 +26,18 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
static void
_elm_box_efl_ui_focus_composition_prepare(Eo *obj, Elm_Box_Data *pd EINA_UNUSED)
{
+ Eina_List *n, *nn;
+ Elm_Widget *elem;
+
Elm_Widget_Smart_Data *wpd = efl_data_scope_get(obj, ELM_WIDGET_CLASS);
Eina_List *order = evas_object_box_children_get(wpd->resize_obj);
+ EINA_LIST_FOREACH_SAFE(order, n, nn, elem)
+ {
+ if (!efl_isa(elem, ELM_WIDGET_CLASS))
+ order = eina_list_remove(order, elem);
+ }
+
efl_ui_focus_composition_elements_set(obj, order);
}