Page MenuHomePhabricator

elm/list: block recursive recalc loops
ClosedPublic

Authored by zmike on Jul 11 2018, 1:50 PM.

Details

Summary

this size hints callback is triggered by both list objects and list
item objects, meaning that setting size hints on the item objects during
recalc will trigger a recursive recalc, potentially infinitely

this blocks recursive recalcs unless triggered by size hint changes
from a main list object, since those will eventually resolve themselves

fix T7121

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.
zmike created this revision.Jul 11 2018, 1:50 PM
zmike requested review of this revision.Jul 11 2018, 1:50 PM
devilhorns resigned from this revision.Jul 12 2018, 6:26 AM

This does indeed fix T7121.
Just to be pedantic I would have used EINA_TRUE/FALSE instead of 0/1 to make clear it's a bool and not an int

zmike updated this revision to Diff 15681.Jul 13 2018, 6:45 AM
zmike edited projects, added efl: widgets; removed efl.

change int assignment to bool

I'm probably not qualified to let this one through, but I have tested it and it works here.

Hermet accepted this revision.Jul 19 2018, 1:00 AM
This revision is now accepted and ready to land.Jul 19 2018, 1:00 AM
This revision was automatically updated to reflect the committed changes.