On Wed, 7 Apr 2021 13:10:29 GMT, Kevin Rushforth <[email protected]> wrote:
>> Florian Kirmaier has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> 8263402
>> Minor cleanup based on codereview
>
> modules/javafx.graphics/src/main/java/javafx/scene/CssStyleHelper.java line
> 355:
>
>> 353: /* This is the first Styleable parent (of Node this StyleHelper
>> belongs to)
>> 354: * having a valid StyleHelper */
>> 355: private WeakReference<Node> firstStyleableAncestor = null;
>
> Since `firstStyleableAncestor` is initialized to `null`, rather than `new
> WeakReference(null)`, it might be possible for a call to
> `firstStyleableAncestor.get()` to throw an NPE. Can you comment on what
> analysis and testing you've done to ensure that this won't happen in some
> situations? A quick look shows that in the two places a `CssStyleHelper`
> object is created, `firstStyleableAncestor` is set shortly after, but it
> wouldn't hurt to take a closer look.
One solution would be to create an `EMPTY_NODE` singleton and initialize it to
that:
private static final WeakReference<Node> EMPTY_NODE = new
WeakReference<>(null);
private WeakReference<Node> firstStyleableAncestor = EMPTY_NODE;
-------------
PR: https://git.openjdk.java.net/jfx/pull/424