From 682a5fde94856bf868a794a047fcf9b836b800c8 Mon Sep 17 00:00:00 2001 From: CalDescent Date: Sun, 24 Apr 2022 15:54:20 +0100 Subject: [PATCH] Revert "Attempt to fix core startup problems on some systems (GNOME Desktop?) by adding defensiveness to GUI elements." This reverts commit 311f41c610b7d3388cef714979d9653508fb0c55. --- src/main/java/org/qortal/gui/Gui.java | 4 +- src/main/java/org/qortal/gui/SplashFrame.java | 41 +++++++------------ src/main/java/org/qortal/gui/SysTray.java | 8 +--- 3 files changed, 18 insertions(+), 35 deletions(-) diff --git a/src/main/java/org/qortal/gui/Gui.java b/src/main/java/org/qortal/gui/Gui.java index 12191349..4944db52 100644 --- a/src/main/java/org/qortal/gui/Gui.java +++ b/src/main/java/org/qortal/gui/Gui.java @@ -47,12 +47,12 @@ public class Gui { this.splashFrame = SplashFrame.getInstance(); } - protected static BufferedImage loadImage(String resourceName) throws IOException { + protected static BufferedImage loadImage(String resourceName) { try (InputStream in = Gui.class.getResourceAsStream("/images/" + resourceName)) { return ImageIO.read(in); } catch (IllegalArgumentException | IOException | ServiceConfigurationError e) { LOGGER.warn(String.format("Couldn't locate image resource \"images/%s\"", resourceName)); - throw new IOException(String.format("Couldn't locate image resource \"images/%s\"", resourceName)); + return null; } } diff --git a/src/main/java/org/qortal/gui/SplashFrame.java b/src/main/java/org/qortal/gui/SplashFrame.java index 3fd452fc..c4ea51d0 100644 --- a/src/main/java/org/qortal/gui/SplashFrame.java +++ b/src/main/java/org/qortal/gui/SplashFrame.java @@ -1,7 +1,6 @@ package org.qortal.gui; import java.awt.*; -import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.awt.image.BufferedImage; @@ -30,23 +29,18 @@ public class SplashFrame { private JLabel statusLabel; public SplashPanel() { - try { - image = Gui.loadImage(defaultSplash); - - // Add logo - JLabel imageLabel = new JLabel(new ImageIcon(image)); - imageLabel.setSize(new Dimension(300, 300)); - add(imageLabel); - } - catch (IOException e) { - LOGGER.warn("Unable to load splash panel image"); - } + image = Gui.loadImage(defaultSplash); setOpaque(true); setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); setBorder(new EmptyBorder(10, 10, 10, 10)); setBackground(Color.BLACK); + // Add logo + JLabel imageLabel = new JLabel(new ImageIcon(image)); + imageLabel.setSize(new Dimension(300, 300)); + add(imageLabel); + // Add spacing add(Box.createRigidArea(new Dimension(0, 16))); @@ -81,20 +75,15 @@ public class SplashFrame { this.splashDialog = new JFrame(); - try { - List icons = new ArrayList<>(); - icons.add(Gui.loadImage("icons/icon16.png")); - icons.add(Gui.loadImage("icons/qortal_ui_tray_synced.png")); - icons.add(Gui.loadImage("icons/qortal_ui_tray_syncing_time-alt.png")); - icons.add(Gui.loadImage("icons/qortal_ui_tray_minting.png")); - icons.add(Gui.loadImage("icons/qortal_ui_tray_syncing.png")); - icons.add(Gui.loadImage("icons/icon64.png")); - icons.add(Gui.loadImage("icons/Qlogo_128.png")); - this.splashDialog.setIconImages(icons); - } - catch (IOException e) { - LOGGER.warn("Unable to load splash frame icons"); - } + List icons = new ArrayList<>(); + icons.add(Gui.loadImage("icons/icon16.png")); + icons.add(Gui.loadImage("icons/qortal_ui_tray_synced.png")); + icons.add(Gui.loadImage("icons/qortal_ui_tray_syncing_time-alt.png")); + icons.add(Gui.loadImage("icons/qortal_ui_tray_minting.png")); + icons.add(Gui.loadImage("icons/qortal_ui_tray_syncing.png")); + icons.add(Gui.loadImage("icons/icon64.png")); + icons.add(Gui.loadImage("icons/Qlogo_128.png")); + this.splashDialog.setIconImages(icons); this.splashPanel = new SplashPanel(); this.splashDialog.getContentPane().add(this.splashPanel); diff --git a/src/main/java/org/qortal/gui/SysTray.java b/src/main/java/org/qortal/gui/SysTray.java index 861c9ab0..7a24f825 100644 --- a/src/main/java/org/qortal/gui/SysTray.java +++ b/src/main/java/org/qortal/gui/SysTray.java @@ -61,13 +61,7 @@ public class SysTray { this.popupMenu = createJPopupMenu(); // Build TrayIcon without AWT PopupMenu (which doesn't support Unicode)... - try { - this.trayIcon = new TrayIcon(Gui.loadImage("icons/qortal_ui_tray_synced.png"), "qortal", null); - } - catch (IOException e) { - LOGGER.warn("Unable to load system tray icon"); - return; - } + this.trayIcon = new TrayIcon(Gui.loadImage("icons/qortal_ui_tray_synced.png"), "qortal", null); // ...and attach mouse listener instead so we can use JPopupMenu (which does support Unicode) this.trayIcon.addMouseListener(new MouseAdapter() { @Override