From 9469bb110dda83fd3602c98e257e163b39c94015 Mon Sep 17 00:00:00 2001 From: Bukkit/Spigot Date: Sun, 22 May 2011 22:18:05 +0100 Subject: [PATCH] Added check and catch for errors during cancelTasks and unregister of services during plugin disable By: stevenh --- .../org/bukkit/plugin/SimplePluginManager.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/paper-api/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/paper-api/src/main/java/org/bukkit/plugin/SimplePluginManager.java index b450b2089e..17f2411cda 100644 --- a/paper-api/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/paper-api/src/main/java/org/bukkit/plugin/SimplePluginManager.java @@ -271,9 +271,17 @@ public final class SimplePluginManager implements PluginManager { server.getLogger().log(Level.SEVERE, "Error occurred (in the plugin loader) while disabling " + plugin.getDescription().getFullName() + " (Is it up to date?): " + ex.getMessage(), ex); } - // Forced disable - server.getScheduler().cancelTasks(plugin); - server.getServicesManager().unregisterAll(plugin); + try { + server.getScheduler().cancelTasks(plugin); + } catch (Throwable ex) { + server.getLogger().log(Level.SEVERE, "Error occurred (in the plugin loader) while cancelling tasks for " + plugin.getDescription().getFullName() + " (Is it up to date?): " + ex.getMessage(), ex); + } + + try { + server.getServicesManager().unregisterAll(plugin); + } catch (Throwable ex) { + server.getLogger().log(Level.SEVERE, "Error occurred (in the plugin loader) while unregistering services for " + plugin.getDescription().getFullName() + " (Is it up to date?): " + ex.getMessage(), ex); + } } }