Skip to content

Commit 0b0fa47

Browse files
committed
8319925: CSS.BackgroundImage incorrectly uses double-checked locking
Reviewed-by: aivanov
1 parent 0048f1d commit 0b0fa47

File tree

1 file changed

+3
-3
lines changed
  • src/java.desktop/share/classes/javax/swing/text/html

1 file changed

+3
-3
lines changed

src/java.desktop/share/classes/javax/swing/text/html/CSS.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2933,8 +2933,8 @@ public boolean equals(Object val) {
29332933
*/
29342934
@SuppressWarnings("serial") // Same-version serialization only
29352935
static class BackgroundImage extends CssValue {
2936-
private boolean loadedImage;
2937-
private ImageIcon image;
2936+
private volatile boolean loadedImage;
2937+
private ImageIcon image;
29382938

29392939
Object parseCssValue(String value) {
29402940
BackgroundImage retValue = new BackgroundImage();
@@ -2952,14 +2952,14 @@ ImageIcon getImage(URL base) {
29522952
synchronized(this) {
29532953
if (!loadedImage) {
29542954
URL url = CSS.getURL(base, svalue);
2955-
loadedImage = true;
29562955
if (url != null) {
29572956
image = new ImageIcon();
29582957
Image tmpImg = Toolkit.getDefaultToolkit().createImage(url);
29592958
if (tmpImg != null) {
29602959
image.setImage(tmpImg);
29612960
}
29622961
}
2962+
loadedImage = true;
29632963
}
29642964
}
29652965
}

0 commit comments

Comments
 (0)