[OpenJDK 2D-Dev] NPE in X11FontManager.getDefaultPlatformFont
    Jeremy Manson 
    jeremymanson at google.com
       
    Tue Jun  4 21:50:05 UTC 2013
    
    
  
Hi folks,
I encountered a NullPointerException in the above method, when fontconfig
doesn't return any fonts:
http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/7eae7c89dab4/src/solaris/classes/sun/awt/X11FontManager.java
Line 779.  The issue is that FontConfigManager sets fontConfigFonts to null
when Fontconfig doesn't return any fonts:
http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/7eae7c89dab4/src/solaris/classes/sun/font/FontConfigManager.java
Line 218.
The solution I came up with is to initialize fontConfigFonts with a
zero-element array in this case:
diff --git a/src/solaris/classes/sun/font/FontConfigManager.java
b/src/solaris/classes/sun/font/FontConfigManager.java
--- a/src/solaris/classes/sun/font/FontConfigManager.java
+++ b/src/solaris/classes/sun/font/FontConfigManager.java
@@ -216,6 +216,7 @@
                 logger.info("Fontconfig returned no fonts at all.");
             }
             fontConfigFailed = true;
+            fontConfigFonts = new FcCompFont[0];
             return;
         } else if (fontConfigFailed) {
             for (int i = 0; i< fontArr.length; i++) {
Thanks for your attention!
Jeremy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/2d-dev/attachments/20130604/bb576151/attachment.html>
    
    
More information about the 2d-dev
mailing list