On Tue, 21 Jul 2026 23:18:41 GMT, John Hendrikx <[email protected]> wrote:
>> modules/javafx.graphics/src/main/java/javafx/scene/CssStyleHelper.java line >> 919: >> >>> 917: final String property = cssMetaData.getProperty(); >>> 918: >>> 919: CalculatedValue calculatedValue = cacheEntry.get(property); >> >> it looks like the value is stored by property name, which means if the SKIP >> value was stored and then the metadata was replaced (by setting a skin, for >> example, which uses the same property names), the old SKIP would prevent >> re-evaluation. > > A property always evaluates the same, as this is dictated by the stylesheet, > not by the presence or absence of a property in the CSS metadata. So the > stylesheet says: `xyz` must be `5` here, and if you replace the skin and it > has the same property, that evaluation is still correct. > > There may be a problem if that new property is of a different type (I didn't > test), but I consider that beyond the scope of this fix as that has never > worked. If you see an easy solution, I can consider adding it -- my primary > goal was to fix the customer found regression that seemed to have been due to > #1076 but in reality has been there much longer, only less visible. I have to admit it's a rather contrived scenario, so I am not concerned. The devs can always work around this by using different property names. Maybe just add a comment pointing to this scenario? ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/2218#discussion_r3640730982
