Page MenuHomePhabricator

efl_ui_focus_layer: correctly dismantle redirect chain
ClosedPublic

Authored by bu5hm4n on Apr 9 2020, 2:42 AM.

Details

Summary

when a redirect manager is unset, all focus managers in the chain upper
to the set manager must be unset. The code uses redirect manager == NULL
as an check for the manager to be active or not.

ref D11667
Depends on D11671

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.Apr 9 2020, 2:42 AM
bu5hm4n requested review of this revision.Apr 9 2020, 2:42 AM
zmike added inline comments.Apr 9 2020, 7:13 AM
src/lib/elementary/efl_ui_focus_layer.c
157

Is there some way we can avoid calling this function twice with the same value?

bu5hm4n added inline comments.Apr 14 2020, 3:37 AM
src/lib/elementary/efl_ui_focus_layer.c
157

I would just leave it as it is right now. After the release my idea is to add that logic to "redirect_set" in the calc manager, so we ensure that this is always done when unsetting a manager object there. However,that seemed like a bit too risky before a release.

zmike accepted this revision.Apr 14 2020, 7:17 AM

yea ok

This revision is now accepted and ready to land.Apr 14 2020, 7:17 AM
Closed by commit rEFL6312054181e1: efl_ui_focus_layer: correctly dismantle redirect chain (authored by Marcel Hollerbach <mail@marcel-hollerbach.de>, committed by zmike). · Explain WhyApr 14 2020, 8:31 AM
This revision was automatically updated to reflect the committed changes.