From ebd6d61272d71c8b4f8fb7595d5f9e82057abb33 Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Fri, 15 Jun 2018 13:31:31 +0200 Subject: [PATCH] Fix loading of core overlay properties When loaded and added in OverlayRenderer, it was too early to load their properties because configuration was not loaded yet. Fixes #3799 Signed-off-by: Tomas Slusny --- .../java/net/runelite/client/RuneLite.java | 22 +++++++++++++++++++ .../client/ui/overlay/OverlayRenderer.java | 13 +---------- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java index 28b253dcd1..ac7b5cb791 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -55,8 +55,12 @@ import net.runelite.client.plugins.PluginManager; import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.DrawManager; import net.runelite.client.ui.TitleToolbar; +import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayRenderer; import net.runelite.client.ui.overlay.infobox.InfoBoxManager; +import net.runelite.client.ui.overlay.infobox.InfoBoxOverlay; +import net.runelite.client.ui.overlay.tooltip.TooltipOverlay; +import net.runelite.client.ui.overlay.worldmap.WorldMapOverlay; import org.slf4j.LoggerFactory; import org.slf4j.MDC; @@ -124,6 +128,18 @@ public class RuneLite @Inject private InfoBoxManager infoBoxManager; + @Inject + private OverlayManager overlayManager; + + @Inject + private InfoBoxOverlay infoBoxOverlay; + + @Inject + private TooltipOverlay tooltipOverlay; + + @Inject + private WorldMapOverlay worldMapOverlay; + Client client; public static void main(String[] args) throws Exception @@ -245,6 +261,12 @@ public class RuneLite // Load the session, including saved configuration sessionManager.loadSession(); + // Add core overlays after configuration has been loaded so their properties will be + // loaded properly + overlayManager.add(infoBoxOverlay); + overlayManager.add(worldMapOverlay); + overlayManager.add(tooltipOverlay); + // Start plugins pluginManager.startCorePlugins(); 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 2b623b92d4..b746270971 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 @@ -50,9 +50,6 @@ import net.runelite.client.input.KeyManager; import net.runelite.client.input.MouseListener; import net.runelite.client.input.MouseManager; import net.runelite.client.ui.FontManager; -import net.runelite.client.ui.overlay.infobox.InfoBoxOverlay; -import net.runelite.client.ui.overlay.tooltip.TooltipOverlay; -import net.runelite.client.ui.overlay.worldmap.WorldMapOverlay; @Singleton @Slf4j @@ -94,21 +91,13 @@ public class OverlayRenderer extends MouseListener implements KeyListener final OverlayManager overlayManager, final RuneLiteConfig runeLiteConfig, final MouseManager mouseManager, - final KeyManager keyManager, - final InfoBoxOverlay infoBoxOverlay, - final TooltipOverlay tooltipOverlay, - final WorldMapOverlay worldMapOverlay) + final KeyManager keyManager) { this.clientProvider = clientProvider; this.overlayManager = overlayManager; this.runeLiteConfig = runeLiteConfig; keyManager.registerKeyListener(this); mouseManager.registerMouseListener(this); - - // Register core overlays - overlayManager.add(infoBoxOverlay); - overlayManager.add(worldMapOverlay); - overlayManager.add(tooltipOverlay); } @Subscribe