From 41f39098760d7b03048f4095d81866ecefb164ee Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 26 Aug 2019 10:32:58 -0400 Subject: [PATCH] config manager: overwrite defaults when unable to unmarshall values This allows config key types to change without errors by resetting the config with new default value --- .../main/java/net/runelite/client/config/ConfigManager.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 4e6c1e65ae..09e852515c 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 @@ -507,7 +507,9 @@ public class ConfigManager if (!override) { - String current = getConfiguration(group.value(), item.keyName()); + // This checks if it is set and is also unmarshallable to the correct type; so + // we will overwrite invalid config values with the default + Object current = getConfiguration(group.value(), item.keyName(), method.getReturnType()); if (current != null) { continue; // something else is already set