On Mon, 14 Nov 2022 10:20:59 GMT, Ajit Ghaisas <aghai...@openjdk.org> wrote:
>> Andy Goryachev has updated the pull request with a new target base due to a >> merge or a rebase. The incremental webrev excludes the unrelated changes >> brought in by the merge/rebase. The pull request contains 24 additional >> commits since the last revision: >> >> - 8294809: review comments >> - Merge remote-tracking branch 'origin/master' into 8294809.listener.helper >> - 8294809: whitespace >> - 8294809: no public api >> - 8294809: map change listener >> - Merge remote-tracking branch 'origin/master' into 8294809.listener.helper >> - 8294809: generics >> - 8294809: is alive >> - Revert "8294809: removed weak listeners support" >> >> This reverts commit 2df4a85db638d76cacaf6c54ba669cdb3dd91a18. >> - 8294809: removed weak listeners support >> - ... and 14 more: https://git.openjdk.org/jfx/compare/a53372a1...470f42c1 > > modules/javafx.controls/src/test/java/test/javafx/scene/control/TestListenerHelper.java > line 94: > >> 92: >> 93: @Test >> 94: public void testChangeListener_MultipleProperties() { > > Should we address a hypothetical use case where the `ListenerHelper` has > added a ChangeListener for 2 properties as done in this test case and wants > to remove only ChangeListener for p1? > currently `h.disconnet()` removes ChangeListener of both the properties. If this is a requirement, then multi-property method `addChangeListener(Runnable, ObservableValue ...)` should not be used. Instead, use a normal `addChangeListener(ObservableValue, *)` and its return `IDisconnectable` to remove the listener. An example use case for multi-property method is listening for both width and height properties to update a shape or recalculate an area. ------------- PR: https://git.openjdk.org/jfx/pull/908