Shutdown plugins on window close

Closes #6646

Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
Tomas Slusny
2019-01-18 21:11:00 +01:00
parent eb69a8990b
commit 6e080949f9

View File

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