On Wed, 5 Jan 2022 18:14:44 GMT, Florian Kirmaier <fkirma...@openjdk.org> wrote:

>> Making the initial listener of the ListProperty weak fixes the problem.
>> The same is fixed for Set and Map.
>> Due to a smart implementation, this is done without any performance drawback.
>> (The trick is to have an object, which is both the WeakReference and the 
>> Changelistener)
>> By implying the same trick to the InvalidationListener, this should even 
>> improve the performance of the collection properties.
>
> Florian Kirmaier has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   JDK-8277848
>   Further optimization based code review.
>   This Bugfix should now event improve the performance

modules/javafx.base/src/main/java/javafx/beans/property/ListPropertyBase.java 
line 338:

> 336:         public void onChanged(Change<? extends E> change) {
> 337:             ListPropertyBase<E> ref = get();
> 338:             if(ref != null) {

Minor: space after `if`

modules/javafx.base/src/main/java/javafx/beans/property/MapPropertyBase.java 
line 339:

> 337:         public void onChanged(Change<? extends K, ? extends V> change) {
> 338:             MapPropertyBase<K,V> ref = get();
> 339:             if(ref != null) {

Minor: space after `if`

modules/javafx.base/src/main/java/javafx/beans/property/SetPropertyBase.java 
line 341:

> 339:         public void onChanged(Change<? extends E> change) {
> 340:             SetPropertyBase<E> ref = get();
> 341:             if(ref != null) {

Minor: space after `if`

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

PR: https://git.openjdk.java.net/jfx/pull/689

Reply via email to