From b9bf0e3639e2fbe872d900e9d2d6aac5b4fcec12 Mon Sep 17 00:00:00 2001 From: trimbe Date: Tue, 12 Mar 2019 17:54:17 -0400 Subject: [PATCH 1/2] item stats: use GameTick to determine when GE is closed --- .../client/plugins/itemstats/ItemStatPlugin.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java index b32ddaf7bd..b11ec4b5e3 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java @@ -44,9 +44,9 @@ import net.runelite.api.SpriteID; import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; import net.runelite.api.events.ConfigChanged; +import net.runelite.api.events.GameTick; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.events.VarbitChanged; -import net.runelite.api.events.WidgetHiddenChanged; import net.runelite.api.widgets.JavaScriptCallback; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; @@ -127,14 +127,10 @@ public class ItemStatPlugin extends Plugin } @Subscribe - public void onWidgetHiddenChanged(WidgetHiddenChanged event) + public void onGameTick(GameTick event) { - if (!config.geStats()) - { - return; - } - - if (event.getWidget() == client.getWidget(WidgetInfo.INVENTORY)) + if (itemInformationTitle != null && config.geStats() + && client.getWidget(WidgetInfo.GRAND_EXCHANGE_WINDOW_CONTAINER) == null) { resetGEInventory(); } From 1a10215b1d003582e3a3dd6c62fecfa1ab550d28 Mon Sep 17 00:00:00 2001 From: trimbe Date: Tue, 12 Mar 2019 17:55:05 -0400 Subject: [PATCH 2/2] item stats: use ClientThread where necessary for resetting --- .../runelite/client/plugins/itemstats/ItemStatPlugin.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java index b11ec4b5e3..3a599cfa6e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java @@ -52,6 +52,7 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetTextAlignment; import net.runelite.api.widgets.WidgetType; +import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.Subscribe; import net.runelite.client.game.ItemManager; @@ -90,6 +91,9 @@ public class ItemStatPlugin extends Plugin @Inject private ItemStatConfig config; + @Inject + private ClientThread clientThread; + private Widget itemInformationTitle; @Provides @@ -114,7 +118,7 @@ public class ItemStatPlugin extends Plugin protected void shutDown() throws Exception { overlayManager.remove(overlay); - resetGEInventory(); + clientThread.invokeLater(this::resetGEInventory); } @Subscribe @@ -122,7 +126,7 @@ public class ItemStatPlugin extends Plugin { if (event.getKey().equals("geStats")) { - resetGEInventory(); + clientThread.invokeLater(this::resetGEInventory); } }