On Thu, 10 Sep 2026 19:40:38 GMT, Andy Goryachev <[email protected]> wrote:

>> Not sure I understand. Why would it do that? We just create it and move on. 
>> No other method is called.
>
> the use case is this:
> - layout() is called at the top of the hierarchy
> - a child is added somewhere in layoutChildren(), which invokes reapplyCSS(), 
> which calls createStyleHelper()
> - createStyleHelper() triggers another property change, and let's say that 
> property has a listener that adds another child
> - since isPerformingLayout() is true, the child's css is processed immediately
> 
> the issue is that while `ancestor.cssHelperStale = false`, the 
> `ancestor.styleHelper` is still old, causing wrong css to be applied (which 
> represents a regression)

Okay then I probably understood you right, that's exactly what I've been 
checking all day (inspired by your other comment). Wrote some failing tests 
already but need to do more testing.

I might make a PR to simplify the `triggerStates` before, since that currently 
makes the logic worse to understand (and may enable some optimizations as well).

-------------

PR Review Comment: https://git.openjdk.org/jfx/pull/2225#discussion_r3982939722

Reply via email to