From eb8abd4635b58db398b43c43b6c88d64c84232be Mon Sep 17 00:00:00 2001 From: "Kristian S. Stangeland" Date: Thu, 27 Sep 2012 05:22:08 +0200 Subject: [PATCH] Try to clean up after a failed hook. --- .../comphenix/protocol/injector/PacketFilterManager.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ProtocolLib/src/com/comphenix/protocol/injector/PacketFilterManager.java b/ProtocolLib/src/com/comphenix/protocol/injector/PacketFilterManager.java index 3d5d94b3..f86723f3 100644 --- a/ProtocolLib/src/com/comphenix/protocol/injector/PacketFilterManager.java +++ b/ProtocolLib/src/com/comphenix/protocol/injector/PacketFilterManager.java @@ -433,9 +433,18 @@ public final class PacketFilterManager implements ProtocolManager { break; } catch (Exception e) { + // Mark this injection attempt as a failure logger.log(Level.SEVERE, "Player hook " + currentHook.toString() + " failed.", e); + // Clean up as much as possible + try { + if (injector != null) + injector.cleanupAll(); + } catch (Exception e2) { + logger.log(Level.WARNING, "Cleaing up after player hook failed.", e); + } + if (currentHook.ordinal() > 0) { // Choose the previous player hook type currentHook = PlayerInjectHooks.values()[currentHook.ordinal() - 1];