forked from enlightenment/efl
efl_ui_focus_manager: try to error out instead of a infinit recusrion
This commit is contained in:
parent
c745bdcb5c
commit
0f8e0e2324
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue