jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=426ccba6bdbd3bf6a83dd8778d1404e8b9c9c453
commit 426ccba6bdbd3bf6a83dd8778d1404e8b9c9c453 Author: Jean-Philippe Andre <[email protected]> Date: Thu Jan 25 11:43:31 2018 +0900 win: Fix legacy win type name Window constructor is hijacked by the finalize method, which messes up the normal order of operations. As a result, the legacy type name for a window object was "elm_widget" rather than "elm_win". This fixes a crash in E (as it checks the legacy type name to verify an object's type). See D5748 --- src/lib/elementary/efl_ui_win.c | 4 ++-- src/lib/elementary/efl_ui_win_legacy.eo | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 081ce2d846..1aa0daffe2 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -8627,9 +8627,9 @@ _efl_ui_win_legacy_class_constructor(Efl_Class *klass) } EOLIAN static Eo * -_efl_ui_win_legacy_efl_object_constructor(Eo *obj, void *pd EINA_UNUSED) +_efl_ui_win_legacy_efl_object_finalize(Eo *obj, void *pd EINA_UNUSED) { - obj = efl_constructor(efl_super(obj, EFL_UI_WIN_LEGACY_CLASS)); + obj = efl_finalize(efl_super(obj, EFL_UI_WIN_LEGACY_CLASS)); efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY); return obj; } diff --git a/src/lib/elementary/efl_ui_win_legacy.eo b/src/lib/elementary/efl_ui_win_legacy.eo index fe13a0480a..952464ba71 100644 --- a/src/lib/elementary/efl_ui_win_legacy.eo +++ b/src/lib/elementary/efl_ui_win_legacy.eo @@ -4,6 +4,6 @@ class Efl.Ui.Win_Legacy (Efl.Ui.Win, Efl.Ui.Legacy) data: null; implements { class.constructor; - Efl.Object.constructor; + Efl.Object.finalize; } } --
