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 <slusnucky@gmail.com>
This commit is contained in:
Tomas Slusny
2018-06-15 13:31:31 +02:00
parent ea051beb4e
commit ebd6d61272
2 changed files with 23 additions and 12 deletions

View File

@@ -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();

View File

@@ -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