From 419fd9590e29f790abd8cd79bf99cd771f8bf504 Mon Sep 17 00:00:00 2001 From: "florent.fauchille" Date: Thu, 7 Mar 2019 10:39:27 +0100 Subject: [PATCH] NPE on runtime when installedFontsByFamily is `null` (#73) * NPE on runtime when installedFontsByFamily is `null` When running the command `java -jar dist/ffdec.jar -export fla `, it crashes with stacktrace: ``` java.lang.NullPointerException at com.jpexs.decompiler.flash.tags.base.FontTag.isFontFamilyInstalled(FontTag.java:310) at com.jpexs.decompiler.flash.xfl.XFLConverter.convertFonts(XFLConverter.java:2366) at com.jpexs.decompiler.flash.xfl.XFLConverter.convertSWF(XFLConverter.java:3363) at com.jpexs.decompiler.flash.SWF.exportXfl(SWF.java:2506) at com.jpexs.decompiler.flash.console.CommandLineArgumentParser.exportFla(CommandLineArgumentParser.java:2410) at com.jpexs.decompiler.flash.console.CommandLineArgumentParser.parseExport(CommandLineArgumentParser.java:2349) at com.jpexs.decompiler.flash.console.CommandLineArgumentParser.parseArguments(CommandLineArgumentParser.java:891) at com.jpexs.decompiler.flash.gui.Main.main(Main.java:1976) ``` Null checking `installedFontsByFamily` fixes the issue and the SWF to FLA is successful. * Add ensureLoaded() for isFontFamilyInstalled With ensureLoaded() instead of null check --- .../src/com/jpexs/decompiler/flash/tags/base/FontTag.java | 1 + 1 file changed, 1 insertion(+) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java index b1ef5443d..770d83a4c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java @@ -306,6 +306,7 @@ public abstract class FontTag extends DrawableTag implements AloneTag { } public static String isFontFamilyInstalled(String fontFamily) { + ensureLoaded(); if (installedFontsByFamily.containsKey(fontFamily)) { return fontFamily; }