On Fri, 20 Jun 2025 03:51:16 GMT, Prasanta Sadhukhan <psadhuk...@openjdk.org> 
wrote:

>> When trying to call 'icon.setImage(null);' where 'icon' is an instance of 
>> ImageIcon, a null pointer exception is thrown at runtime.
>> The code tried to get the `id` for that image and instantiates 
>> `MediaTracker` to associate the null image to that `id` and checks the 
>> status of loading this null image, removes the null image from the tracker 
>> and then tries to get the image width where it throws NPE as image is null.
>> 
>> It's better to not go through all MediaTracker usage and bail out initially 
>> itself for null image..
>
> Prasanta Sadhukhan has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Remove resetting description from constructor as it is already null

Changes requested by aivanov (Reviewer).

src/java.desktop/share/classes/javax/swing/ImageIcon.java line 219:

> 217:      * Creates an ImageIcon from an image object.
> 218:      * Setting a {@code null} image means
> 219:      * no image will be rendered.

Suggestion:

     * If the image is {@code null}, no icon will be rendered.

src/java.desktop/share/classes/javax/swing/ImageIcon.java line 230:

> 228:         if (image == null) {
> 229:             return;
> 230:         }

So, are we changing the constructors that accept `Image`?

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

PR Review: https://git.openjdk.org/jdk/pull/25767#pullrequestreview-2945815220
PR Review Comment: https://git.openjdk.org/jdk/pull/25767#discussion_r2158785184
PR Review Comment: https://git.openjdk.org/jdk/pull/25767#discussion_r2158787404

Reply via email to