On Mon, Jun 29, 2015 at 8:06 PM, Yann Ylavic <ylavic....@gmail.com> wrote:
> Maybe defining (naming) inherit_before tristate values would help: > Not really... + a->inherit_before = (over->inherit_before == INHERIT_ON > + || (over->inherit_before == INHERIT_UNSET > + && base->inherit_before == INHERIT_ON)); > if (a->inherit_before) { > This logic was convoluted and therefore resulted in in the old default behavior if the option wasn't explicitly set. See the most recent trunk commits for a more legible solution that follows the design pattern used throughout other core modules. Your logic above fails to preserve the unset state, and fails to when consider base->inherit_before is explicitly off. This is why it is preferred not to invent new wheels when good wheels exist, particularly if there will be a square side on the new wheel. Bill