On Thu, 19 Jun 2025 10:14:42 GMT, Alexey Ivanov <aiva...@openjdk.org> wrote:
>> 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 > > src/java.desktop/share/classes/javax/swing/ImageIcon.java line 389: > >> 387: this.image = image; >> 388: if (image == null) { >> 389: this.description = null; > > We must not change the description. Why do we enforce resetting the > description to `null`? > > The app is still free to change the description to an arbitrary value using > `setDescription` even if the image is `null`. **I *strongly* disagree to changing the value of `description`** here, even though [I brought up this concern](https://github.com/openjdk/jdk/pull/25767#discussion_r2150249349). This does not make sense. Consider the following code snippet: ImageIcon im = new ImageIcon(); // Both image and description are null im.setDescription("whatever"); // Now image is null, and description isn't null im.setImage(null); // Why does description change to null? Both `image` and `description` are two independent fields of `ImageIcon` object, each has its own getter and setter, and each can be changed independently. We should not enforce the order of calls: if an app developer wants to set the image to `null`, temporarily or not, the value of the description has to be preserved. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/25767#discussion_r2158820017