From 78b6a5b836836a899ff646ecce81190aeaae2ee9 Mon Sep 17 00:00:00 2001 From: Abex Date: Wed, 23 May 2018 05:16:57 -0600 Subject: [PATCH] interfacestyles: Run on game thread (#3129) To prevent conflicts with game thread, move all client related logic to game thread --- .../InterfaceStylesPlugin.java | 35 +++++++++++++------ 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java index daae14562f..3c75132f57 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java @@ -44,6 +44,7 @@ import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.WidgetPositioned; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; +import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.game.SpriteManager; import net.runelite.client.plugins.Plugin; @@ -59,6 +60,9 @@ public class InterfaceStylesPlugin extends Plugin @Inject private Client client; + @Inject + private ClientThread clientThread; + @Inject private InterfaceStylesConfig config; @@ -74,17 +78,23 @@ public class InterfaceStylesPlugin extends Plugin @Override protected void startUp() throws Exception { - overrideSprites(); - overrideWidgetSprites(); - restoreWidgetDimensions(); - adjustWidgetDimensions(); + clientThread.invokeLater(() -> + { + overrideSprites(); + overrideWidgetSprites(); + restoreWidgetDimensions(); + adjustWidgetDimensions(); + }); } @Override protected void shutDown() throws Exception { - restoreWidgetDimensions(); - removeGameframe(); + clientThread.invokeLater(() -> + { + restoreWidgetDimensions(); + removeGameframe(); + }); } @Subscribe @@ -92,11 +102,14 @@ public class InterfaceStylesPlugin extends Plugin { if (config.getGroup().equals("interfaceStyles")) { - removeGameframe(); - overrideSprites(); - overrideWidgetSprites(); - restoreWidgetDimensions(); - adjustWidgetDimensions(); + clientThread.invokeLater(() -> + { + removeGameframe(); + overrideSprites(); + overrideWidgetSprites(); + restoreWidgetDimensions(); + adjustWidgetDimensions(); + }); } }