efl_ui_win: unfocus and focus again the most upper widget

if we unfocus a window we should unfocus also the current focused
widget.

fix T6297
This commit is contained in:
Marcel Hollerbach 2017-11-13 14:15:04 +01:00
parent 6508b8849c
commit 63ef60402f
1 changed files with 12 additions and 1 deletions

View File

@ -1231,7 +1231,7 @@ _elm_win_focus_in(Ecore_Evas *ee)
}
Evas_Object *focused = efl_ui_focus_manager_focus_get(man);
efl_ui_widget_on_focus_update(focused, NULL);
efl_ui_focus_object_focus_set(focused, EINA_TRUE);
}
evas_object_smart_callback_call(obj, SIG_FOCUS_IN, NULL);
@ -1280,6 +1280,17 @@ _elm_win_focus_out(Ecore_Evas *ee)
efl_access_state_changed_signal_emit(obj, EFL_ACCESS_STATE_ACTIVE, EINA_FALSE);
}
if (sd->type != ELM_WIN_FAKE)
{
Efl_Ui_Focus_Manager *man = sd->obj;
while(efl_ui_focus_manager_redirect_get(man))
{
man = efl_ui_focus_manager_redirect_get(man);
}
Evas_Object *focused = efl_ui_focus_manager_focus_get(man);
efl_ui_focus_object_focus_set(focused, EINA_FALSE);
}
/* do nothing */
/* if (sd->img_obj) */
/* { */