runelite-client: fix some incorrect swing usage

All swing operations should be on the event dispatch thread
This commit is contained in:
Adam
2017-07-22 14:08:41 -04:00
parent 40e6604cae
commit 653128cd97
10 changed files with 101 additions and 59 deletions

View File

@@ -26,6 +26,8 @@ package net.runelite.client.callback;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.lang.reflect.InvocationTargetException;
import javax.swing.SwingUtilities;
import net.runelite.api.ChatMessageType;
import net.runelite.api.MenuAction;
import net.runelite.api.Skill;
@@ -88,11 +90,24 @@ public class Hooks
OverlayRenderer renderer = runelite.getRenderer();
assert !SwingUtilities.isEventDispatchThread();
try
{
renderer.render(image);
SwingUtilities.invokeAndWait(() ->
{
try
{
renderer.render(image);
}
catch (Exception ex)
{
logger.warn("Error during overlay rendering", ex);
}
});
}
catch (Exception ex)
catch (InterruptedException | InvocationTargetException ex)
{
logger.warn("Error during overlay rendering", ex);
}