forked from enlightenment/efl
elm_inwin: set the redirect manager on the correct object
otherwise the redirect is never set on the window which does not work
This commit is contained in:
parent
b7c434f6ef
commit
afb0add345
|
@ -25,7 +25,7 @@ static const Elm_Layout_Part_Alias_Description _content_aliases[] =
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
Efl_Ui_Focus_Manager *manager;
|
Efl_Ui_Focus_Manager *manager, *registered_manager;
|
||||||
Eina_Bool registered;
|
Eina_Bool registered;
|
||||||
} Elm_Inwin_Data;
|
} 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)
|
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;
|
pd->registered = EINA_TRUE;
|
||||||
}
|
}
|
||||||
else if (!v && pd->registered)
|
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;
|
pd->registered = EINA_FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue