On Fri, 12 Nov 2021 23:42:30 GMT, Kevin Rushforth <k...@openjdk.org> wrote:

>> Florian Kirmaier has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   8274022
>>   Simplified code related to WeakHashMaps
>
> modules/javafx.controls/src/main/java/com/sun/javafx/scene/control/ControlAcceleratorSupport.java
>  line 291:
> 
>> 289:                 WeakReference<ChangeListener<KeyCombination>> listenerW 
>> = changeListenerMap.get(menuitem);
>> 290:                 ChangeListener<KeyCombination> listener = listenerW == 
>> null ? null : listenerW.get();
>> 291:                 if (listener != null) {
> 
> This will fail to remove a weak reference to a listener that has been 
> collected. It is a `WeakHashMap`, so the `WeakReference` to the listener will 
> be reclaimed as soon as the `menuItem` is no longer reachable, but if you 
> used the same logic as you did for the scene listener (e.g., on lines 
> 254-261), it would be removed sooner. I don't know whether it matters in this 
> case.

Yes, you are right. I now use the same logic in all 3 places.
I guess it doesn't matter because the key always references the listener - but 
the code is now more straight line.

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

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

Reply via email to