interfacestyles: Run on game thread (#3129)

To prevent conflicts with game thread, move all client related logic to game thread
This commit is contained in:
Abex
2018-05-23 05:16:57 -06:00
committed by Tomas Slusny
parent abc8028106
commit 78b6a5b836

View File

@@ -44,6 +44,7 @@ import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.WidgetPositioned; import net.runelite.api.events.WidgetPositioned;
import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.callback.ClientThread;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.game.SpriteManager; import net.runelite.client.game.SpriteManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
@@ -59,6 +60,9 @@ public class InterfaceStylesPlugin extends Plugin
@Inject @Inject
private Client client; private Client client;
@Inject
private ClientThread clientThread;
@Inject @Inject
private InterfaceStylesConfig config; private InterfaceStylesConfig config;
@@ -73,30 +77,39 @@ public class InterfaceStylesPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{
clientThread.invokeLater(() ->
{ {
overrideSprites(); overrideSprites();
overrideWidgetSprites(); overrideWidgetSprites();
restoreWidgetDimensions(); restoreWidgetDimensions();
adjustWidgetDimensions(); adjustWidgetDimensions();
});
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{
clientThread.invokeLater(() ->
{ {
restoreWidgetDimensions(); restoreWidgetDimensions();
removeGameframe(); removeGameframe();
});
} }
@Subscribe @Subscribe
public void onConfigChanged(ConfigChanged config) public void onConfigChanged(ConfigChanged config)
{ {
if (config.getGroup().equals("interfaceStyles")) if (config.getGroup().equals("interfaceStyles"))
{
clientThread.invokeLater(() ->
{ {
removeGameframe(); removeGameframe();
overrideSprites(); overrideSprites();
overrideWidgetSprites(); overrideWidgetSprites();
restoreWidgetDimensions(); restoreWidgetDimensions();
adjustWidgetDimensions(); adjustWidgetDimensions();
});
} }
} }