Skip to content

Commit

Permalink
interfacestyles: Run on game thread (runelite#3129)
Browse files Browse the repository at this point in the history
To prevent conflicts with game thread, move all client related logic to game thread
  • Loading branch information
abextm authored and deathbeam committed May 23, 2018
1 parent abc8028 commit 78b6a5b
Showing 1 changed file with 24 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
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;
Expand All @@ -59,6 +60,9 @@ public class InterfaceStylesPlugin extends Plugin
@Inject
private Client client;

@Inject
private ClientThread clientThread;

@Inject
private InterfaceStylesConfig config;

Expand All @@ -74,29 +78,38 @@ InterfaceStylesConfig provideConfig(ConfigManager configManager)
@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
public void onConfigChanged(ConfigChanged config)
{
if (config.getGroup().equals("interfaceStyles"))
{
removeGameframe();
overrideSprites();
overrideWidgetSprites();
restoreWidgetDimensions();
adjustWidgetDimensions();
clientThread.invokeLater(() ->
{
removeGameframe();
overrideSprites();
overrideWidgetSprites();
restoreWidgetDimensions();
adjustWidgetDimensions();
});
}
}

Expand Down

0 comments on commit 78b6a5b

Please sign in to comment.