diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java index eb2446b82d..d72e04d453 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java @@ -52,6 +52,7 @@ import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.ProjectileMoved; import net.runelite.client.Notifier; +import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; @@ -106,6 +107,9 @@ public class CannonPlugin extends Plugin @Inject private Client client; + @Inject + private ClientThread clientThread; + @Provides CannonConfig provideConfig(ConfigManager configManager) { @@ -140,7 +144,7 @@ public class CannonPlugin extends Plugin { if (cannonPlaced) { - addCounter(); + clientThread.invokeLater(this::addCounter); } } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/RunepouchOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/RunepouchOverlay.java index 35f64f3e11..1d7589a609 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/RunepouchOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/RunepouchOverlay.java @@ -148,7 +148,7 @@ public class RunepouchOverlay extends Overlay { OverlayUtil.renderImageLocation(graphics, new Point(location.getX(), location.getY() + graphics.getFontMetrics().getHeight() * i), - getRuneImage(rune)); + image); } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java index d49a7a4111..bae55ab2f5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java @@ -49,6 +49,7 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.Notifier; +import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; @@ -96,6 +97,9 @@ public class SlayerPlugin extends Plugin @Inject private Notifier notifier; + @Inject + private ClientThread clientThread; + private String taskName; private int amount; private TaskCounter counter; @@ -112,7 +116,7 @@ public class SlayerPlugin extends Plugin && config.amount() != -1 && !config.taskName().isEmpty()) { - setTask(config.taskName(), config.amount()); + clientThread.invokeLater(() -> setTask(config.taskName(), config.amount())); } } @@ -307,7 +311,7 @@ public class SlayerPlugin extends Plugin if (config.showInfobox()) { - addCounter(); + clientThread.invokeLater(this::addCounter); } else { diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java index c4c4d94eac..1b716d8a28 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -480,6 +480,7 @@ public abstract class RSClientMixin implements RSClient @Override public SpritePixels createItemSprite(int itemId, int quantity, int border, int shadowColor, int stackable, boolean noted, int scale) { + assert isClientThread(); int zoom = get3dZoom(); set3dZoom(scale); try