On Thu, 14 Jul 2022 23:37:31 GMT, John Hendrikx <jhendr...@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. modules/javafx.base/src/main/java/javafx/beans/binding/ObjectBinding.java line 184: > 182: ExpressionHelper.fireValueChangedEvent(helper); > 183: > 184: if (!valid) { // if still invalid after calling listeners... On a personal note: I think implementation comments are best presented as a block, and not describing individual lines of code. That makes it a bit easier for future authors to work with the code. But that's just my two cents 😊 ------------- PR: https://git.openjdk.org/jfx/pull/829