From 0b0fa47f840344676312f756d3ae54a2ef2baccc Mon Sep 17 00:00:00 2001 From: Prasanta Sadhukhan Date: Thu, 7 Dec 2023 11:41:30 +0000 Subject: [PATCH] 8319925: CSS.BackgroundImage incorrectly uses double-checked locking Reviewed-by: aivanov --- .../share/classes/javax/swing/text/html/CSS.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/java.desktop/share/classes/javax/swing/text/html/CSS.java b/src/java.desktop/share/classes/javax/swing/text/html/CSS.java index 15247608e1b..cd8f8dfb42a 100644 --- a/src/java.desktop/share/classes/javax/swing/text/html/CSS.java +++ b/src/java.desktop/share/classes/javax/swing/text/html/CSS.java @@ -2933,8 +2933,8 @@ public class CSS implements Serializable { */ @SuppressWarnings("serial") // Same-version serialization only static class BackgroundImage extends CssValue { - private boolean loadedImage; - private ImageIcon image; + private volatile boolean loadedImage; + private ImageIcon image; Object parseCssValue(String value) { BackgroundImage retValue = new BackgroundImage(); @@ -2952,7 +2952,6 @@ public class CSS implements Serializable { synchronized(this) { if (!loadedImage) { URL url = CSS.getURL(base, svalue); - loadedImage = true; if (url != null) { image = new ImageIcon(); Image tmpImg = Toolkit.getDefaultToolkit().createImage(url); @@ -2960,6 +2959,7 @@ public class CSS implements Serializable { image.setImage(tmpImg); } } + loadedImage = true; } } }