From c6584ad58a856358e1fa01b118b8e74f3c7a9c36 Mon Sep 17 00:00:00 2001 From: Owain van Brakel Date: Thu, 14 Apr 2022 14:26:43 +0200 Subject: [PATCH] project(overlay): Remove broken overlays --- .../runelite/client/ui/overlay/OverlayRenderer.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java index 0ff4120c48..8534a97014 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java @@ -46,6 +46,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import javax.swing.SwingUtilities; import lombok.extern.slf4j.Slf4j; +import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.KeyCode; @@ -797,6 +798,17 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener log.warn(DEDUPLICATE, "Error during overlay rendering", ex); return; } + catch (Throwable throwable) + { + log.warn(DEDUPLICATE, "Error during overlay rendering: {}, {}, {}", overlay.getPlugin(), overlay.getName(), overlay.getClass()); + + client.addChatMessage(ChatMessageType.GAMEMESSAGE, "", "Fatal error: plugin " + overlay.getPlugin(), null); + client.addChatMessage(ChatMessageType.GAMEMESSAGE, "", "Fatal error: overlay " + overlay.getName(), null); + client.addChatMessage(ChatMessageType.GAMEMESSAGE, "", "Fatal error: " + overlay.getClass(), null); + + overlayManager.remove(overlay); + return; + } final Dimension dimension = MoreObjects.firstNonNull(overlayDimension, new Dimension()); overlay.getBounds().setSize(dimension);