Page MenuHomePhabricator

efl_ui_legacy: add new interface to indicate legacy widget
ClosedPublic

Authored by taxi2se on Jan 17 2018, 1:45 AM.

Details

Summary

For now, how to check whether a widget is legacy or not
is to check flags in private data or static flag, which is set
during elm_legacy_add.
If Efl.Ui.Legacy interface is added, it can be easilly checked
by efl_isa(obj, EFL_UI_LEGACY_INTERFACE)

Diff Detail

Repository
rEFL core/efl
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
taxi2se created this revision.Jan 17 2018, 1:45 AM
taxi2se updated this revision to Diff 13714.Jan 18 2018, 3:29 AM
taxi2se retitled this revision from prototype: efl_ui_legacy: add new interface to indicate legacy widget this is PROTOTYPE to prototype: efl_ui_legacy: add new interface to indicate legacy widget.
taxi2se edited the summary of this revision. (Show Details)

Apply Efl.Ui.Legacy interface to all widgets

jpeg added a comment.Jan 19 2018, 12:08 AM

Please keep elm_widget_is_legacy() internal function. It can do efl_isa. That would change a bit less code in this patch :) Otherwise this is good.

jpeg added a comment.Jan 19 2018, 12:40 AM

One more thing. The EO files should not be in "public" in the makefile. :)

taxi2se updated this revision to Diff 13717.Jan 19 2018, 2:54 AM

restore inlne elm_widget_is_is_legacy()

taxi2se requested review of this revision.Jan 19 2018, 2:54 AM
jpeg added a comment.Jan 22 2018, 9:58 PM

Isn't this basically ready to be merged, now?

Some more Eo should be added, I will update this soon.

taxi2se updated this revision to Diff 13738.Jan 23 2018, 10:09 PM

apply Legacy interface to more legacy widgets.

taxi2se retitled this revision from prototype: efl_ui_legacy: add new interface to indicate legacy widget to efl_ui_legacy: add new interface to indicate legacy widget.Jan 23 2018, 10:10 PM
taxi2se edited the summary of this revision. (Show Details)
taxi2se added reviewers: jpeg, cedric, Jaehyun_Cho.
taxi2se added a subscriber: conr2d.
jpeg added a comment.Jan 23 2018, 10:30 PM

Let me know when this is done. It mostly looks good. Though now I wonder if creating all those EO files was necessary and we couldn't have just used the EO macros to create the classes internally. No big deal, it's just more work making EO files, but it's also much cleaner.

I think this is ready. I tested on elementary_test, and make check.

jpeg added a comment.Jan 23 2018, 10:33 PM

Okay then I will test this myself. Thanks!

This revision was not accepted when it landed; it landed in state Needs Review.Jan 24 2018, 1:57 AM
Closed by commit rEFLcb25699dacde: efl_ui_legacy: add new interface to indicate legacy widget (authored by taxi2se, committed by Jean-Philippe Andre <jp.andre@samsung.com>). · Explain Why
This revision was automatically updated to reflect the committed changes.

Hey all, this broke E.

If I go to settings->compositor it segfaults.

Got this backtrace :

==19484==  Access not within mapped region at address 0x4CC
==19484==    at 0x1B7D6C: e_dialog_show (e_dialog.c:265)
==19484==    by 0x2A27D5: e_util_dialog_internal (e_utils.c:404)
==19484==    by 0x2D7DF8: _e_comp_x_add_fail_job (e_comp_x.c:632)
==19484==    by 0x5C9262A: _ecore_job_event_handler (ecore_job.c:98)
==19484==    by 0x5C97D38: _ecore_event_message_handler_efl_loop_message_handler_message_call (ecore_event_message_handler.c:335)
==19484==    by 0x5C9D83E: efl_loop_message_handler_message_call (efl_loop_message_handler.eo.c:14)
==19484==    by 0x5C9A018: _efl_loop_message_process (efl_loop.c:657)
==19484==    by 0x5C98A86: efl_loop_message_process (efl_loop.c:687)
==19484==    by 0x5C94588: _ecore_main_loop_iterate_internal (ecore_main.c:2422)
==19484==    by 0x5C94EC4: _ecore_main_loop_begin (ecore_main.c:1152)
==19484==    by 0x5C99F48: _efl_loop_begin (efl_loop.c:85)
==19484==    by 0x5C98FD6: efl_loop_begin (efl_loop.eo.c:50)
==19484==    by 0x5C94F96: ecore_main_loop_begin (ecore_main.c:1225)
==19484==    by 0x25BF17: main (e_main.c:1090)
jpeg added a comment.EditedJan 24 2018, 6:45 PM

Thanks. Stupid Window class.
Fixed in 426ccba6bdbd3bf6a83dd8778d1404e8b9c9c453