On Wed, 11 Jun 2025 12:37:25 GMT, Prasanta Sadhukhan <psadhuk...@openjdk.org> wrote:
> Something like this > > ``` > ImageIcon icon = new ImageIcon(); > Image image = > Toolkit.getDefaultToolkit().createImage("onepixel.gif"); > icon.setImage(image); > if (icon.getImageLoadStatus == MediaTracker.ABORTED) { > ImageIcon newIcon = new ImageIcon(); > } > ``` > > in this case wont mediaTrackerId starts from 0 again for "newIcon"? No, it won't. Why will it? `mediaTrackerId` is a static field, that is its value grows with each image loaded by a new instance of `ImageIcon`, and the value of `mediaTrackerId` is never reset. That's exactly the problem described in the [JDK-8055461](https://bugs.openjdk.org/browse/JDK-8055461) bug report. https://github.com/openjdk/jdk/blob/bf7d40d0486b7b4e4820bb5d08a63c446ea3291d/src/java.desktop/share/classes/javax/swing/ImageIcon.java#L129 https://github.com/openjdk/jdk/blob/bf7d40d0486b7b4e4820bb5d08a63c446ea3291d/src/java.desktop/share/classes/javax/swing/ImageIcon.java#L322-L326 With the change that you propose, it will be impossible to load images with `ImageIcon` once the value of `mediaTrackerId` reaches `Integer.MAX_VALUE`. ------------- PR Comment: https://git.openjdk.org/jdk/pull/25666#issuecomment-2962554490