diff options
author | Marcel Hollerbach <marcel-hollerbach@t-online.de> | 2017-07-18 16:16:18 +0200 |
---|---|---|
committer | Marcel Hollerbach <marcel-hollerbach@t-online.de> | 2017-07-18 17:51:38 +0200 |
commit | 1c9762d8cae61935ac69303b1b8814cd0a28e2ef (patch) | |
tree | ce7454b805d639732456973e7adfbea245c3c39c | |
parent | 92bad54778a036d14a16adb1197ce5b0f45ea0cb (diff) | |
download | efl-1c9762d8cae61935ac69303b1b8814cd0a28e2ef.tar.gz |
elm_widget: do not register disabled logical nodes
this reduces the load of useless logical trees that
ref T5753
-rw-r--r-- | src/lib/elementary/elm_widget.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index c14e711fb5..4e9a3a72f0 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -315,7 +315,19 @@ _focus_state_eval(Eo *obj, Elm_Widget_Smart_Data *pd) } if (!should && pd->logical.child_count > 0) - should = EINA_TRUE; + { + should = EINA_TRUE; + + if (_tree_unfocusable(obj)) + should = EINA_FALSE; + + if (_tree_disabled(obj)) + should = EINA_FALSE; + + if (!evas_object_visible_get(obj)) + should = EINA_FALSE; + + } if ( //check if we have changed the manager (pd->focus.manager != manager && should) || |