Merge pull request #7426 from deathbeam/shutdown-plugins-on-close
Shutdown plugins on window close
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user