RFR: 8294809: ListenerHelper for managing and disconnecting listeners [v9]

Andy Goryachev angorya at openjdk.org
Mon Nov 14 20:23:11 UTC 2022


On Mon, 14 Nov 2022 09:08:11 GMT, Ajit Ghaisas <aghaisas at 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/02f51b53...470f42c1
>
> modules/javafx.controls/src/main/java/com/sun/javafx/scene/control/ListenerHelper.java line 87:
> 
>> 85: 
>> 86:     public static ListenerHelper get(SkinBase<?> skin) {
>> 87:         return accessor.apply(skin);
> 
> `accessor` can be `null` and needs to be checked.

I don't think this is the case.
When this method is called, SkinBase class must be already loaded and resolved, that means it's static { } block, which sets the accessor, has been executed.  But just in case, I should move the static block in SkinBase, so we don't have any surprises.

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

PR: https://git.openjdk.org/jfx/pull/908


More information about the openjfx-dev mailing list