efl_ui_win: avoid triggering legacy forbidden path during window finalize
authorMike Blumenkrantz <zmike@samsung.com>
Tue, 19 Mar 2019 14:00:21 +0000 (10:00 -0400)
committerYeongjong Lee <yj34.lee@samsung.com>
Tue, 2 Apr 2019 03:45:17 +0000 (12:45 +0900)
this (unintentionally) revealed some bugs where apps/examples were mixing
eo and legacy code for elm_win which breaks things pretty badly. I'm only
here so I don't get fined.

ref T7713

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8401

src/lib/elementary/efl_ui_win.c

index 8a60a2e..424cc59 100644 (file)
@@ -6873,7 +6873,8 @@ _efl_ui_win_efl_object_finalize(Eo *obj, Efl_Ui_Win_Data *sd)
    if (obj && (!elm_widget_is_legacy(obj)))
      {
         /* FIXME: if parts other than background are supported then this should change */
-        if (efl_file_get(efl_part(obj, "background")) || efl_file_mmap_get(efl_part(obj, "background")))
+        if (efl_file_get(efl_super(efl_part(obj, "background"), EFL_UI_WIN_PART_CLASS)) ||
+            efl_file_mmap_get(efl_super(efl_part(obj, "background"), EFL_UI_WIN_PART_CLASS)))
           efl_file_load(efl_part(obj, "background"));
      }
    return obj;