diff --git a/runelite-client/src/main/java/net/runelite/client/discord/DiscordService.java b/runelite-client/src/main/java/net/runelite/client/discord/DiscordService.java index be2939fcf9..2b7ebcdb38 100644 --- a/runelite-client/src/main/java/net/runelite/client/discord/DiscordService.java +++ b/runelite-client/src/main/java/net/runelite/client/discord/DiscordService.java @@ -57,6 +57,8 @@ public class DiscordService implements AutoCloseable private ScheduledExecutorService executorService; private DiscordRPC discordRPC; + // Hold a reference to the event handlers to prevent the garbage collector from deleting them + private final DiscordEventHandlers discordEventHandlers = new DiscordEventHandlers(); /** * Initializes the Discord service, sets up the event handlers and starts worker thread that will poll discord @@ -77,7 +79,6 @@ public class DiscordService implements AutoCloseable return; } - final DiscordEventHandlers discordEventHandlers = new DiscordEventHandlers(); discordEventHandlers.ready = this::ready; discordEventHandlers.disconnected = this::disconnected; discordEventHandlers.errored = this::errored;