efl_ui_focus_manager: try to error out instead of a infinit recusrion

This commit is contained in:
Marcel Hollerbach 2017-11-22 14:45:47 +01:00
parent c745bdcb5c
commit 0f8e0e2324
1 changed files with 6 additions and 1 deletions

View File

@ -78,11 +78,16 @@ typedef struct {
} Efl_Ui_Focus_Manager_Calc_Data;
static void
_manager_in_chain_set(Efl_Ui_Focus_Manager_Calc_Data *pd)
_manager_in_chain_set(Eo *obj, Efl_Ui_Focus_Manager_Calc_Data *pd)
{
EINA_SAFETY_ON_NULL_RETURN(pd->root);
if (!efl_isa(pd->root->focusable, EFL_UI_WIN_CLASS))
EINA_SAFETY_ON_NULL_RETURN(efl_ui_focus_user_manager_get(pd->root->focusable));
//so we dont run infinitly this does not fix it, but at least we only have a error
EINA_SAFETY_ON_TRUE_RETURN(efl_ui_focus_user_manager_get(pd->root->focusable) == obj)
efl_ui_focus_manager_focus_set(efl_ui_focus_user_manager_get(pd->root->focusable), pd->root->focusable);
}