aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/elementary/efl_ui_win.c
diff options
context:
space:
mode:
authorMarcel Hollerbach <marcel@osg.samsung.com>2018-05-16 13:30:28 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2018-05-16 13:30:28 -0400
commita218c883c74e62f638e7d5c696b41d2c69c9fc1f (patch)
tree160d7d6c060f0441150b53f03624b638c7975a9e /src/lib/elementary/efl_ui_win.c
parentModify initial visibility of a extn_socket (diff)
downloadefl-a218c883c74e62f638e7d5c696b41d2c69c9fc1f.tar.gz
Introduce efl_ui_widget_focus_manager
Summary: The mixin encapsulates the correct - creation - composition attaching - Lifecycle handling of the focus managers that are assosiated with the object. This fixes error messages on shutdown, and additionally lifetime issues where the composite_attached object was deleted before the object was deleted. Reviewers: cedric, zmike Reviewed By: zmike Subscribers: segfaultxavi, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6108
Diffstat (limited to 'src/lib/elementary/efl_ui_win.c')
-rw-r--r--src/lib/elementary/efl_ui_win.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 557e0a8258..c40f54370a 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -14,6 +14,7 @@
#define EFL_UI_FOCUS_OBJECT_PROTECTED
#define EFL_UI_WIN_BETA
#define EFL_CANVAS_SCENE_BETA
+#define EFL_UI_WIDGET_FOCUS_MANAGER_PROTECTED
#include <Elementary.h>
#include <Elementary_Cursor.h>
@@ -180,7 +181,6 @@ struct _Efl_Ui_Win_Data
Evas_Object *main_menu;
- Efl_Ui_Focus_Manager *manager;
Efl_Ui_Focus_Parent_Provider_Standard *provider;
struct
@@ -5603,7 +5603,7 @@ _efl_ui_win_efl_canvas_object_legacy_ctor(Eo *obj, Efl_Ui_Win_Data *sd)
}
EOLIAN static Efl_Ui_Focus_Manager*
-_efl_ui_win_efl_ui_widget_focus_manager_create(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *pd EINA_UNUSED, Efl_Ui_Focus_Object *root)
+_efl_ui_win_efl_ui_widget_focus_manager_focus_manager_create(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *pd EINA_UNUSED, Efl_Ui_Focus_Object *root)
{
Efl_Ui_Focus_Manager *manager;
@@ -5637,7 +5637,6 @@ _efl_ui_win_efl_object_constructor(Eo *obj, Efl_Ui_Win_Data *pd)
* really bad and hacky. Needs fixing. */
pd->obj = obj;
- pd->manager = efl_ui_widget_focus_manager_create(obj, obj);
pd->provider = efl_add(EFL_UI_FOCUS_PARENT_PROVIDER_STANDARD_CLASS, obj);
pd->profile.available = eina_array_new(4);
@@ -5645,9 +5644,6 @@ _efl_ui_win_efl_object_constructor(Eo *obj, Efl_Ui_Win_Data *pd)
if (!efl_parent_get(obj))
efl_allow_parent_unref_set(obj, EINA_TRUE);
- efl_composite_attach(obj, pd->manager);
- _efl_ui_focus_manager_redirect_events_add(pd->manager, obj);
-
return obj;
}