aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/elementary/efl_ui_win.c
diff options
context:
space:
mode:
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>2016-11-04 17:44:37 +0100
committerMarcel Hollerbach <marcel-hollerbach@t-online.de>2017-04-20 14:38:57 +0200
commit9aa7c63b2f2e4b4a0e2ce8628340dcbe22a33f1e (patch)
tree72809dadfabe3361b68901e1b8dbd784d6f80325 /src/lib/elementary/efl_ui_win.c
parentelm_widget: make it a efl_ui_focus_object (diff)
downloadefl-9aa7c63b2f2e4b4a0e2ce8628340dcbe22a33f1e.tar.gz
efl_ui_win: make it a focus manager
Added a focusmanager with the window itself as the root.
Diffstat (limited to 'src/lib/elementary/efl_ui_win.c')
-rw-r--r--src/lib/elementary/efl_ui_win.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index c1d3f07b92..2bd0b93141 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -164,6 +164,8 @@ struct _Efl_Ui_Win_Data
Evas_Object *main_menu;
+ Efl_Ui_Focus_Manager *manager;
+
struct
{
const char *name;
@@ -5214,11 +5216,16 @@ _efl_ui_win_efl_object_finalize(Eo *obj, Efl_Ui_Win_Data *_pd)
}
EOLIAN static Eo *
-_efl_ui_win_efl_object_constructor(Eo *obj, Efl_Ui_Win_Data *_pd EINA_UNUSED)
+_efl_ui_win_efl_object_constructor(Eo *obj, Efl_Ui_Win_Data *pd)
{
/* Do nothing. */
/* XXX: We are calling the constructor chain from the finalizer. It's
* really bad and hacky. Needs fixing. */
+ pd->manager = efl_add(EFL_UI_FOCUS_MANAGER_CLASS, NULL,
+ efl_ui_focus_manager_root_set(efl_added, obj)
+ );
+
+ efl_composite_attach(obj, pd->manager);
return obj;
}