Close plugin class as well (BungeeCord)

This commit is contained in:
Frank van der Heijden 2020-07-20 14:39:14 +02:00
parent a0bdaeb2fc
commit d6b75e5c02
No known key found for this signature in database
GPG key ID: 26DA56488D314D11

View file

@ -149,15 +149,22 @@ public class BungeePluginManager extends AbstractPluginManager<Plugin> {
proxy.getPluginManager().unregisterCommands(plugin);
proxy.getPluginManager().unregisterListeners(plugin);
proxy.getScheduler().cancel(plugin);
Closeable closeable;
List<Closeable> closeables = new ArrayList<>();
try {
RPluginManager.clearPlugin(proxy.getPluginManager(), plugin);
closeable = (Closeable) RPluginClassLoader.getPluginClassLoader(plugin);
addIfInstance(closeables, RPluginClassLoader.getPluginClassLoader(plugin));
addIfInstance(closeables, plugin.getClass().getClassLoader());
} catch (Exception ex) {
ex.printStackTrace();
return new CloseableResult(Result.ERROR);
}
return new CloseableResult(closeable);
return new CloseableResult(closeables);
}
private static void addIfInstance(List<Closeable> list, Object obj) {
if (obj instanceof Closeable) {
list.add((Closeable) obj);
}
}
public static File getPluginFileExact(String fileName) {