From 5e7a3513c7137e7de2055533c944c826b6040399 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 22 Jun 2018 22:41:00 -0400 Subject: [PATCH] hooks: dispose graphics after using --- .../net/runelite/client/callback/Hooks.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java b/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java index b824fb357c..76335dfb19 100644 --- a/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java +++ b/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java @@ -345,7 +345,7 @@ public class Hooks implements Callbacks { MainBufferProvider bufferProvider = (MainBufferProvider) client.getBufferProvider(); BufferedImage image = (BufferedImage) bufferProvider.getImage(); - Graphics2D graphics2d = (Graphics2D) image.getGraphics(); + Graphics2D graphics2d = image.createGraphics(); try { @@ -355,6 +355,10 @@ public class Hooks implements Callbacks { log.warn("Error during overlay rendering", ex); } + finally + { + graphics2d.dispose(); + } } @Override @@ -362,7 +366,7 @@ public class Hooks implements Callbacks { MainBufferProvider bufferProvider = (MainBufferProvider) client.getBufferProvider(); BufferedImage image = (BufferedImage) bufferProvider.getImage(); - Graphics2D graphics2d = (Graphics2D) image.getGraphics(); + Graphics2D graphics2d = image.createGraphics(); try { @@ -372,13 +376,17 @@ public class Hooks implements Callbacks { log.warn("Error during overlay rendering", ex); } + finally + { + graphics2d.dispose(); + } } public static void drawAfterWidgets() { MainBufferProvider bufferProvider = (MainBufferProvider) client.getBufferProvider(); BufferedImage image = (BufferedImage) bufferProvider.getImage(); - Graphics2D graphics2d = (Graphics2D) image.getGraphics(); + Graphics2D graphics2d = image.createGraphics(); try { @@ -388,6 +396,10 @@ public class Hooks implements Callbacks { log.warn("Error during overlay rendering", ex); } + finally + { + graphics2d.dispose(); + } } @Override