From a8c82348f943861be85b9b3bf6703c1223197a2d Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 28 Apr 2017 13:23:41 -0400 Subject: [PATCH] runelite-client: fix not being able to add system tray icon --- .../java/net/runelite/client/RuneLite.java | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java index 143321254a..07ca5a9bd9 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -26,6 +26,7 @@ package net.runelite.client; import com.google.common.eventbus.EventBus; import com.google.common.eventbus.SubscriberExceptionContext; +import java.awt.AWTException; import java.awt.Image; import java.awt.SystemTray; import java.awt.TrayIcon; @@ -91,23 +92,38 @@ public class RuneLite { gui = new ClientUI(); + setupTrayIcon(); + eventBus.register(menuManager); - if (SystemTray.isSupported()) - { - SystemTray systemTray = SystemTray.getSystemTray(); - - trayIcon = new TrayIcon(ICON, "RuneLite"); - trayIcon.setImageAutoSize(true); - systemTray.add(trayIcon); - } - pluginManager = new PluginManager(this); pluginManager.loadAll(); renderer = new OverlayRenderer(); } + private void setupTrayIcon() + { + if (!SystemTray.isSupported()) + { + return; + } + + SystemTray systemTray = SystemTray.getSystemTray(); + + trayIcon = new TrayIcon(ICON, "RuneLite"); + trayIcon.setImageAutoSize(true); + + try + { + systemTray.add(trayIcon); + } + catch (AWTException ex) + { + logger.debug("Unable to add system tray icon", ex); + } + } + private void eventExceptionHandler(Throwable exception, SubscriberExceptionContext context) { logger.warn("uncaught exception in event subscriber", exception);