On Thu, 19 Jun 2025 03:01:15 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 two 
> additional commits since the last revision:
> 
>  - Test fix
>  - javadoc wording..clear image desscription if image is null

These are not needed as the initial value of `description` is `null`:

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

> 145:         image = Toolkit.getDefaultToolkit().getImage(filename);
> 146:         if (image == null) {
> 147:             this.description = null;

Suggestion:

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

> 185:         image = Toolkit.getDefaultToolkit().getImage(location);
> 186:         if (image == null) {
> 187:             this.description = null;

Suggestion:

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

> 230:         this.image = image;
> 231:         if (image == null) {
> 232:             this.description = null;

Suggestion:

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

> 256:         this.image = Toolkit.getDefaultToolkit().createImage(imageData);
> 257:         if (image == null) {
> 258:             this.description = null;

Suggestion:

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

> 282:         this.image = Toolkit.getDefaultToolkit().createImage(imageData);
> 283:         if (image == null) {
> 284:             this.description = null;

Suggestion:

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

PR Review: https://git.openjdk.org/jdk/pull/25767#pullrequestreview-2941485697
PR Review Comment: https://git.openjdk.org/jdk/pull/25767#discussion_r2156059910
PR Review Comment: https://git.openjdk.org/jdk/pull/25767#discussion_r2156059678
PR Review Comment: https://git.openjdk.org/jdk/pull/25767#discussion_r2156059447
PR Review Comment: https://git.openjdk.org/jdk/pull/25767#discussion_r2156059116
PR Review Comment: https://git.openjdk.org/jdk/pull/25767#discussion_r2156059228

Reply via email to