diff --git a/runelite-client/src/main/java/net/runelite/client/flexo/Flexo.java b/runelite-client/src/main/java/net/runelite/client/flexo/Flexo.java index 0f7a02d3dc..45e9d29b50 100644 --- a/runelite-client/src/main/java/net/runelite/client/flexo/Flexo.java +++ b/runelite-client/src/main/java/net/runelite/client/flexo/Flexo.java @@ -41,16 +41,13 @@ import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.Point; import java.awt.Robot; -import java.awt.Toolkit; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; -import java.awt.peer.RobotPeer; import java.util.Random; import java.util.logging.Logger; import net.runelite.api.Client; import net.runelite.api.Constants; import net.runelite.client.ui.ClientUI; -import sun.awt.ComponentFactory; public class Flexo extends Robot { @@ -65,7 +62,7 @@ public class Flexo extends Robot public static int minDelay = 45; public static MouseMotionFactory currentMouseMotionFactory; public boolean pausedIndefinitely = false; - private RobotPeer peer; + private Robot peer; public Flexo() throws AWTException { @@ -79,35 +76,18 @@ public class Flexo extends Robot private void init(GraphicsDevice screen) throws AWTException { - Toolkit toolkit = Toolkit.getDefaultToolkit(); - if (toolkit instanceof ComponentFactory) + try { - peer = ((ComponentFactory) toolkit).createRobot(this, screen); - RobotDisposer disposer = new RobotDisposer(peer); - sun.java2d.Disposer.addRecord(anchor, disposer); + peer = new Robot(); + } + catch (Exception e) + { + client.getLogger().error("Flexo not supported on this system configuration."); } } private transient Object anchor = new Object(); - static class RobotDisposer implements sun.java2d.DisposerRecord - { - private final RobotPeer peer; - - private RobotDisposer(RobotPeer peer) - { - this.peer = peer; - } - - public void dispose() - { - if (peer != null) - { - peer.dispose(); - } - } - } - private void pauseMS(int delayMS) { long initialMS = System.currentTimeMillis(); @@ -313,10 +293,9 @@ public class Flexo extends Robot } - @Override public Color getPixelColor(int x, int y) { - return new Color(peer.getRGBPixel(x, y)); + return peer.getPixelColor(x, y); } @Override diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/flexo/FlexoPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/flexo/FlexoPlugin.java index a8a8cdcaa5..38a38b2255 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/flexo/FlexoPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/flexo/FlexoPlugin.java @@ -143,13 +143,11 @@ public class FlexoPlugin extends Plugin private void onConfigChanged(ConfigChanged event) { - if (!event.getGroup().equals("flexo") || (!event.getGroup().equals("stretchedmode")) ) + if (event.getGroup().equals("flexo") || event.getGroup().equals("stretchedmode")) { - return; + updateConfig(); + updateMouseMotionFactory(); } - - updateConfig(); - updateMouseMotionFactory(); } private void onBeforeRender(BeforeRender event)