Merge pull request #7426 from deathbeam/shutdown-plugins-on-close

Shutdown plugins on window close
This commit is contained in:
Tomas Slusny
2019-01-19 12:07:43 +00:00
committed by GitHub
2 changed files with 22 additions and 2 deletions

View File

@@ -55,6 +55,8 @@ import net.runelite.client.game.ItemManager;
import net.runelite.client.game.LootManager;
import net.runelite.client.game.chatbox.ChatboxPanelManager;
import net.runelite.client.menus.MenuManager;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginInstantiationException;
import net.runelite.client.plugins.PluginManager;
import net.runelite.client.rs.ClientUpdateCheckMode;
import net.runelite.client.ui.ClientUI;
@@ -294,6 +296,18 @@ public class RuneLite
configManager.sendConfig();
clientSessionManager.shutdown();
discordService.close();
for (final Plugin plugin : pluginManager.getPlugins())
{
try
{
pluginManager.stopPlugin(plugin);
}
catch (PluginInstantiationException e)
{
log.warn("Failed to gracefully close plugin", e);
}
}
}
@VisibleForTesting

View File

@@ -216,10 +216,16 @@ public class SwingUtil
if (result == JOptionPane.OK_OPTION)
{
callback.run();
System.exit(0);
frame.dispose();
}
}
@Override
public void windowClosed(WindowEvent event)
{
callback.run();
System.exit(0);
}
});
}