From ebffb83932e822f62678dbf20376c07c61d61132 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Thu, 5 Dec 2024 21:00:39 +0800 Subject: [PATCH] prevent NPE on old skin/theme --- forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java b/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java index 711d330de78..b9a15f494ac 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java @@ -760,7 +760,13 @@ public class FSkin { public static SkinIcon getIcon(final FSkinProp s0) { final SkinIcon icon = SkinIcon.icons.get(s0); if (icon == null) { - throw new NullPointerException("Can't find an icon for FSkinProp " + s0); + final SkinIcon blank = SkinIcon.icons.get(FSkinProp.ICO_BLANK); + if (blank == null) // if blank is null at this point then the skin is bugged or GC? + throw new NullPointerException("Can't find an icon for FSkinProp " + s0); + else { // this should be 2 or less unless a new required image icon is needed. + System.err.println("Missing image icon for FSkinProp " + s0 + ". Blank image will be used instead."); + return blank; + } } return icon; }