runelite-client: shut down discord service when closed

It is preventing jvm termination otherwise for some reason
This commit is contained in:
Adam
2018-02-12 11:57:02 -05:00
parent 34b8eeafdd
commit f50c657122
2 changed files with 13 additions and 4 deletions

View File

@@ -131,7 +131,7 @@ public class RuneLite
}
// Load swing UI
SwingUtilities.invokeAndWait(() -> setGui(ClientUI.create(properties, client)));
SwingUtilities.invokeAndWait(() -> setGui(ClientUI.create(this, properties, client)));
// Initialize Discord service
discordService.init();
@@ -182,6 +182,11 @@ public class RuneLite
eventBus.post(new ClientUILoaded());
}
public void shutdown()
{
discordService.close();
}
public void setGui(ClientUI gui)
{
this.gui = gui;

View File

@@ -61,6 +61,7 @@ import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.events.ConfigChanged;
import net.runelite.client.RuneLite;
import net.runelite.client.RuneLiteProperties;
import org.pushingpixels.substance.api.skin.SubstanceGraphiteLookAndFeel;
import org.pushingpixels.substance.internal.utils.SubstanceCoreUtilities;
@@ -75,6 +76,7 @@ public class ClientUI extends JFrame
@Getter
private TrayIcon trayIcon;
private final RuneLite runelite;
private final Applet client;
private final RuneLiteProperties properties;
private JPanel navContainer;
@@ -100,7 +102,7 @@ public class ClientUI extends JFrame
ICON = icon;
}
public static ClientUI create(RuneLiteProperties properties, Applet client)
public static ClientUI create(RuneLite runelite, RuneLiteProperties properties, Applet client)
{
// Force heavy-weight popups/tooltips.
// Prevents them from being obscured by the game applet.
@@ -128,11 +130,12 @@ public class ClientUI extends JFrame
// Use custom UI font
setUIFont(new FontUIResource(FontManager.getRunescapeFont()));
return new ClientUI(properties, client);
return new ClientUI(runelite, properties, client);
}
private ClientUI(RuneLiteProperties properties, Applet client)
private ClientUI(RuneLite runelite, RuneLiteProperties properties, Applet client)
{
this.runelite = runelite;
this.properties = properties;
this.client = client;
this.trayIcon = setupTrayIcon();
@@ -385,6 +388,7 @@ public class ClientUI extends JFrame
if (result == JOptionPane.OK_OPTION)
{
runelite.shutdown();
System.exit(0);
}
}