From f401d417dd232f993bf7f11e34fc1bc9083e9424 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 14 Aug 2019 19:01:06 -0400 Subject: [PATCH] low memory plugin: run changeMemoryMode on game thread This method must now be called on game thread, and can be called regardless of game state. --- .../plugins/lowmemory/LowMemoryPlugin.java | 27 ++++++------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/lowmemory/LowMemoryPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/lowmemory/LowMemoryPlugin.java index 41caa93ebd..195feefaf4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/lowmemory/LowMemoryPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/lowmemory/LowMemoryPlugin.java @@ -26,9 +26,7 @@ package net.runelite.client.plugins.lowmemory; import javax.inject.Inject; import net.runelite.api.Client; -import net.runelite.api.GameState; -import net.runelite.api.events.GameStateChanged; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.callback.ClientThread; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -43,27 +41,18 @@ public class LowMemoryPlugin extends Plugin @Inject private Client client; + @Inject + private ClientThread clientThread; + @Override - protected void startUp() throws Exception + protected void startUp() { - if (client.getGameState() == GameState.LOGGED_IN) - { - client.changeMemoryMode(true); - } + clientThread.invoke(() -> client.changeMemoryMode(true)); } @Override - protected void shutDown() throws Exception + protected void shutDown() { - client.changeMemoryMode(false); - } - - @Subscribe - private void onGameStateChanged(GameStateChanged event) - { - if (event.getGameState() == GameState.LOGIN_SCREEN) - { - client.changeMemoryMode(true); - } + clientThread.invoke(() -> client.changeMemoryMode(false)); } }