From 0ab3ee53780f2baa39dc6b9538e78b47b4058412 Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Thu, 15 Mar 2018 23:46:27 +0100 Subject: [PATCH] Fix ClientUI settings loading - Register services to EventBus before the ConfigManager#load is called - Send events on loading from file - Do not invokeLater in invokeLater Signed-off-by: Tomas Slusny --- .../src/main/java/net/runelite/client/RuneLite.java | 6 +++--- .../net/runelite/client/config/ConfigManager.java | 13 +++++++++++++ .../main/java/net/runelite/client/ui/ClientUI.java | 2 +- 3 files changed, 17 insertions(+), 4 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 6fdff16707..43e25f13c6 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -150,9 +150,6 @@ public class RuneLite // Initialize Discord service discordService.init(); - // Load user configuration - configManager.load(); - // Register event listeners eventBus.register(clientUI); eventBus.register(overlayRenderer); @@ -160,6 +157,9 @@ public class RuneLite eventBus.register(chatMessageManager); eventBus.register(pluginManager); + // Load user configuration + configManager.load(); + // Tell the plugin manager if client is outdated or not pluginManager.setOutdated(isOutdated); diff --git a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java index 8f1a97a1f1..611fc4d659 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java +++ b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java @@ -173,6 +173,19 @@ public class ConfigManager try (FileInputStream in = new FileInputStream(propertiesFile)) { properties.load(in); + + properties.forEach((groupAndKey, value) -> + { + final String[] split = ((String)groupAndKey).split("\\."); + final String groupName = split[0]; + final String key = split[1]; + ConfigChanged configChanged = new ConfigChanged(); + configChanged.setGroup(groupName); + configChanged.setKey(key); + configChanged.setOldValue(null); + configChanged.setNewValue((String) value); + eventBus.post(configChanged); + }); } catch (FileNotFoundException ex) { diff --git a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java index 39d3d40ee8..8974eeec62 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java @@ -152,7 +152,7 @@ public class ClientUI if (event.getKey().equals("lockWindowSize")) { - SwingUtilities.invokeLater(() -> frame.setResizable(!config.lockWindowSize())); + frame.setResizable(!config.lockWindowSize()); } if (!event.getKey().equals("gameSize"))