Page MenuHomePhabricator

elementary: do not emit new events in legacy
ClosedPublic

Authored by bu5hm4n on May 3 2019, 5:11 AM.

Details

Summary

This commits prepares the tree in order to mess with the events in the
Efl.Ui.Clickable event. Events which have been emitted in a none legacy
widget, are now emitted either with evas, when the widget is legacy due
to inheritance. Or via the normal event and normal event functions.

In case the widget is a legacy only widget (not used at all in the new
api), then the events are for now emitted with
evas_object_smart_callback_call.

Cases where event handlers have been added to legacy widgets, smart
events are now used, and not the eo one anymore.

ref T7844

Depends on D8813

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.
bu5hm4n created this revision.May 3 2019, 5:11 AM
bu5hm4n requested review of this revision.May 3 2019, 5:11 AM
bu5hm4n updated this revision to Diff 21920.May 3 2019, 5:23 AM
bu5hm4n edited the summary of this revision. (Show Details)

fix two different cases

bu5hm4n updated this revision to Diff 21929.May 4 2019, 4:50 AM

the script i used for this skipped a few cases.

With this we hopefully catched all cases

bu5hm4n updated this revision to Diff 21931.May 5 2019, 3:00 AM

rebase.

bu5hm4n updated this revision to Diff 21953.May 6 2019, 7:41 AM

Rebase & update according to xavi review

bu5hm4n updated this revision to Diff 21981.May 6 2019, 8:17 AM

one more forgotten case in elm_map.c

zmike requested changes to this revision.May 10 2019, 7:00 AM

Seems good once my question is answered.

src/lib/elementary/efl_ui_panes.c
165

I don't understand this change? This appears to be a non-legacy widget and you are removing the non-legacy event.

This revision now requires changes to proceed.May 10 2019, 7:00 AM
bu5hm4n planned changes to this revision.May 10 2019, 7:14 AM

That indeed looks weird. Will check.

bu5hm4n requested review of this revision.May 10 2019, 11:50 PM

And with this I mean, this is fine :)

src/lib/elementary/efl_ui_panes.c
165

efl_ui_panes is a shared implementation it is both, legacy and new widget. Here we only required the smart_callback because the clicked event will be emitted and done in the later revision that starts with "efl_ui_panes:"

bu5hm4n updated this revision to Diff 22100.May 12 2019, 2:17 AM

Rebase & update

This revision is now accepted and ready to land.May 13 2019, 11:30 AM
Closed by commit rEFL41e1dadbf10d: elementary: do not emit new events in legacy (authored by Marcel Hollerbach <mail@marcel-hollerbach.de>, committed by zmike). · Explain WhyMay 13 2019, 12:15 PM
This revision was automatically updated to reflect the committed changes.