From 5a703157772ce3069bd6d20fe5e539f0fe5ec11b Mon Sep 17 00:00:00 2001 From: Max Weber Date: Sat, 30 Nov 2019 22:23:44 -0700 Subject: [PATCH] SplashScreen: Allow use after our L&F has been installed --- .../net/runelite/client/ui/SplashScreen.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/SplashScreen.java b/runelite-client/src/main/java/net/runelite/client/ui/SplashScreen.java index 93313665e0..59f0b13610 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/SplashScreen.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/SplashScreen.java @@ -45,6 +45,8 @@ import javax.swing.UIManager; import javax.swing.border.EmptyBorder; import javax.swing.plaf.basic.BasicProgressBarUI; import lombok.extern.slf4j.Slf4j; +import net.runelite.client.ui.skin.SubstanceRuneLiteLookAndFeel; +import org.pushingpixels.substance.internal.SubstanceSynapse; @Slf4j public class SplashScreen extends JFrame implements ActionListener @@ -151,6 +153,11 @@ public class SplashScreen extends JFrame implements ActionListener } } + public static boolean isOpen() + { + return INSTANCE != null; + } + public static void init() { try @@ -164,8 +171,16 @@ public class SplashScreen extends JFrame implements ActionListener try { - UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); + boolean hasLAF = UIManager.getLookAndFeel() instanceof SubstanceRuneLiteLookAndFeel; + if (!hasLAF) + { + UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); + } INSTANCE = new SplashScreen(); + if (hasLAF) + { + INSTANCE.getRootPane().putClientProperty(SubstanceSynapse.COLORIZATION_FACTOR, 1.0); + } } catch (Exception e) {