From c0e52526c6be741a66c1b449701a39147cb60aa9 Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Fri, 2 Nov 2018 02:13:48 +0100 Subject: [PATCH] efl_ui_focus_manager: make active getter work correctly focus managers can be used via composition, in this case the normal manager is NOT inheriting from the EFL_UI_FOCUS_MANAGER_WINDOW_ROOT_INTERFACE class, but the composition parent is. fix T7390 Differential Revision: https://phab.enlightenment.org/D7230 --- src/lib/elementary/efl_ui_focus_manager_calc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/elementary/efl_ui_focus_manager_calc.c b/src/lib/elementary/efl_ui_focus_manager_calc.c index 5a8456b906..c2ed00333b 100644 --- a/src/lib/elementary/efl_ui_focus_manager_calc.c +++ b/src/lib/elementary/efl_ui_focus_manager_calc.c @@ -94,7 +94,9 @@ _focus_manager_active_get(Eo *obj) { Eo *root, *manager, *comp_parent, *redirect; - if (efl_isa(obj, EFL_UI_FOCUS_MANAGER_WINDOW_ROOT_INTERFACE)) return EINA_TRUE; + if (efl_isa(obj, EFL_UI_FOCUS_MANAGER_WINDOW_ROOT_INTERFACE) || + (efl_composite_part_is(obj) && efl_isa(efl_parent_get(obj), EFL_UI_FOCUS_MANAGER_WINDOW_ROOT_INTERFACE))) + return EINA_TRUE; root = efl_ui_focus_manager_root_get(obj); manager = efl_ui_focus_object_focus_manager_get(root);