From 6e080949f9943ac118b62840bac0624f1f3e6d7b Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Fri, 18 Jan 2019 21:11:00 +0100 Subject: [PATCH] Shutdown plugins on window close Closes #6646 Signed-off-by: Tomas Slusny --- .../main/java/net/runelite/client/RuneLite.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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 06190a9a93..d8e0d6cad1 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -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; @@ -293,6 +295,18 @@ public class RuneLite { 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