[jfx19] RFR: 8290331 Binding value left null when immediately revalidated in invalidation listener

Michael Strauß mstrauss at openjdk.org
Fri Jul 15 01:03:57 UTC 2022


On Thu, 14 Jul 2022 23:37:31 GMT, John Hendrikx <jhendrikx at openjdk.org> wrote:

> I introduced a bug with the fluent bindings PR which affects all ObjectBindings.
> 
> This is the code that fails:
> 
>         SimpleObjectProperty<Boolean> condition = new SimpleObjectProperty<>(true);
>         ObservableValue<String> binding = condition.map(Object::toString);
> 
>         binding.addListener(o -> { binding.getValue(); });
> 
>         condition.set(false);
> 
>         assertEquals(false, binding.getValue());  // returns null (!)
> 
> This PR fixes this problem and adds a test case to cover it.

Looks good to me.

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

Marked as reviewed by mstrauss (Author).

PR: https://git.openjdk.org/jfx/pull/829


More information about the openjfx-dev mailing list