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;
    }
 }

-- 


Reply via email to