On Wed, 23 Jul 2025 08:43:33 GMT, Prasanta Sadhukhan <[email protected]>
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 unneeded vars
test/jdk/javax/swing/ImageIcon/ImageIconTest.java line 54:
> 52:
> 53: for (ArgType a : ArgType.values()) {
> 54: for (final boolean invalid : new boolean[]{false, true}) {
This "invalid==false" means use null and "invalid=true" means use non-null but
invalid image data
seems odd.
Can we rename invalid to "invalidImageData" ? Or may be better an other enum ?
test/jdk/javax/swing/ImageIcon/ImageIconTest.java line 103:
> 101: passed = true;
> 102: }
> 103: } catch (Exception ex) {
What's this block for ? What other kind of exception besides NPE can we get ?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25767#discussion_r2229365272
PR Review Comment: https://git.openjdk.org/jdk/pull/25767#discussion_r2229365160