On Mon, 3 Apr 2023 06:29:58 GMT, Michael Strauß <mstra...@openjdk.org> wrote:

>> BitSet uses the SetListenerHelper abstraction to prevent allocating the 
>> listener arrays.
>> 
>> When removing listeners, the newly returned listener helper (which may be 
>> different from the one called) is not reassigned. This effectively means 
>> that removing the listener does not happen.
>> 
>> This fix correctly assigns the potentially changed SetListenerHelper 
>> instance to BitSet's helper field after listener removal.
>
> modules/javafx.graphics/src/main/java/com/sun/javafx/css/BitSet.java line 617:
> 
>> 615:     @Override
>> 616:     public void removeListener(InvalidationListener 
>> invalidationListener) {
>> 617:         if (invalidationListener != null) {
> 
> `Observable.removeListener(InvalidationListener)` is specified to reject 
> `null` by throwing NPE.

As with the earlier comment, any changes to the behavior of a null listener 
should be done separately and not part of this PR.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1071#discussion_r1162073741

Reply via email to