On Fri, 3 May 2024 14:45:24 GMT, John Hendrikx <jhendr...@openjdk.org> wrote:
> This PR provides a fix for the linked issue. > > The issue was that when an invalidation listener is removed, and the > `ExpressionHelper` type changes from `Generic` to `SingleChange` that it > would copy the current value of the `Generic` instance before it was updated > (this is because invalidation listeners trigger before change listeners and > the current value would only be updated **after** invalidation listeners > notifications were completed). > > The code now will update the current value before sending out any > notifications **if** there are change listeners present to head off this > problem. > > Added a few test cases to verify this. > > Note: the PR which replaces `ExpressionHelper` does not have this problem: > https://github.com/openjdk/jfx/pull/1081 I agree, this fixes a rather serious bug that went into 21. ------------- PR Comment: https://git.openjdk.org/jfx/pull/1448#issuecomment-2440761556