From afb0add3451fad38ea2727b658846d41ddf914d5 Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Sat, 10 Jun 2017 17:43:00 +0200 Subject: [PATCH] elm_inwin: set the redirect manager on the correct object otherwise the redirect is never set on the window which does not work --- src/lib/elementary/elm_inwin.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/lib/elementary/elm_inwin.c b/src/lib/elementary/elm_inwin.c index d671ec8427..e48337c65e 100644 --- a/src/lib/elementary/elm_inwin.c +++ b/src/lib/elementary/elm_inwin.c @@ -25,7 +25,7 @@ static const Elm_Layout_Part_Alias_Description _content_aliases[] = }; typedef struct { - Efl_Ui_Focus_Manager *manager; + Efl_Ui_Focus_Manager *manager, *registered_manager; Eina_Bool registered; } Elm_Inwin_Data; @@ -167,12 +167,15 @@ _elm_inwin_efl_gfx_visible_set(Eo *obj, Elm_Inwin_Data *pd, Eina_Bool v) if (v && !pd->registered) { - efl_ui_focus_manager_redirect_set(pd->manager, obj); + pd->registered_manager = efl_ui_focus_user_manager_get(obj); + + efl_ui_focus_manager_redirect_set(pd->registered_manager, obj); + efl_ui_focus_manager_focus(pd->manager, obj); pd->registered = EINA_TRUE; } else if (!v && pd->registered) { - efl_ui_focus_manager_redirect_set(pd->manager, NULL); + efl_ui_focus_manager_redirect_set(pd->registered_manager, NULL); pd->registered = EINA_FALSE; } }