aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/elementary/efl_ui_win.c
diff options
context:
space:
mode:
authorMarcel Hollerbach <marcel@osg.samsung.com>2017-11-13 14:15:04 +0100
committerMarcel Hollerbach <marcel@osg.samsung.com>2017-11-13 14:21:06 +0100
commit63ef60402f438895b7dfb7300530b199c2248240 (patch)
treebd778acc2a45e17a342d9f36cb3ec138c7d27d4e /src/lib/elementary/efl_ui_win.c
parentelc_naviframe.c: Append title, subtitle while reading title and subtitle in n... (diff)
downloadefl-63ef60402f438895b7dfb7300530b199c2248240.tar.gz
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 https://phab.enlightenment.org/T6297
Diffstat (limited to 'src/lib/elementary/efl_ui_win.c')
-rw-r--r--src/lib/elementary/efl_ui_win.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 3d90f0a1f3..812e1645d7 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -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) */
/* { */