On Mon, Jun 29, 2015 at 8:06 PM, Yann Ylavic <ylavic.dev@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
|