change
This means we maintain the focus state over a parent change
if (//check if we have changed the manager
(current_state.manager != configured_state->manager) ||
- (current_state.parent != configured_state->parent) ||
//check if we are already registered but in a different state
(current_state.logical != configured_state->logical))
{
registered = EINA_FALSE;
}
+ //the parent may has changed
+ if (current_state.parent != configured_state->parent && registered)
+ {
+ return efl_ui_focus_manager_calc_update_parent(current_state.manager, obj, configured_state->parent);
+ }
+
if (!registered)
{
if (configured_state->logical)