Skip to content

Commit d33b7ad

Browse files
committed
Update ConfigHolder to handle null settings and ensure schema version consistency
1 parent 7fc57a0 commit d33b7ad

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

HMCL/src/main/java/org/jackhuang/hmcl/setting/ConfigHolder.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,10 +174,17 @@ private static Config loadConfig() throws IOException {
174174
return new Config();
175175
}
176176

177+
try {
178+
Config settings = Config.fromJson(jsonObject);
179+
if (settings == null) {
180+
return new Config();
181+
}
177182

183+
if (!Config.CURRENT_SCHEMA_VERSION.equals(settings.getSchemaVersion())) {
184+
settings.setSchemaVersion(Config.CURRENT_SCHEMA_VERSION);
185+
}
178186

179-
try {
180-
return Objects.requireNonNullElseGet(Config.fromJson(jsonObject), Config::new);
187+
return settings;
181188
} catch (JsonParseException e) {
182189
// TODO: Save the invalid settings file to a backup location
183190
LOG.warning("Failed to parse settings file: " + SETTINGS_LOCATION, e);

0 commit comments

Comments
 (0)