[OpenJDK 2D-Dev] RFR: 8134986: Incorrect use of ConcurrentHashMap.contains in SunFontManager.java

Phil Race philip.race at oracle.com
Mon Apr 4 22:33:09 UTC 2016


https://bugs.openjdk.java.net/browse/JDK-8134986

When converted from a HashSet to a HashMap contains() should have
changed to containsKey(). It does not lead to duplicate fonts because
it is caught later on but it might lead to wasted work

One line fix in line below

diff --git a/src/java.desktop/share/classes/sun/font/SunFontManager.java 
b/src/java.desktop/share/classes/sun/font/SunFontManager.java
--- a/src/java.desktop/share/classes/sun/font/SunFontManager.java
+++ b/src/java.desktop/share/classes/sun/font/SunFontManager.java
@@ -1843,7 +1843,7 @@

      private PhysicalFont registerFontFile(String file) {
          if (new File(file).isAbsolute() &&
-            !registeredFonts.contains(file)) {
+            !registeredFonts.containsKey(file)) {
              int fontFormat = FONTFORMAT_NONE;
              int fontRank = Font2D.UNKNOWN_RANK;
              if (ttFilter.accept(null, file)) {


-phil.




More information about the 2d-dev mailing list