From efb14572d696bb65e215e0e513bb74aed3b2d268 Mon Sep 17 00:00:00 2001 From: huanghongxun Date: Mon, 17 Sep 2018 16:28:01 +0800 Subject: [PATCH] Fix selected profile automatically changes to Home --- .../org/jackhuang/hmcl/setting/Profiles.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Profiles.java b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Profiles.java index 546b0ad60..5b24da11e 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Profiles.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Profiles.java @@ -127,18 +127,22 @@ public final class Profiles { HashSet names = new HashSet<>(); config().getConfigurations().forEach((name, profile) -> { if (!names.add(name)) return; - profile.setName(name); profiles.add(profile); + profile.setName(name); }); checkProfiles(); - initialized = true; + // Platform.runLater is necessary or profiles will be empty + // since checkProfiles adds 2 base profile later. + Platform.runLater(() -> { + selectedProfile.set( + profiles.stream() + .filter(it -> it.getName().equals(config().getSelectedProfile())) + .findFirst() + .orElse(profiles.get(0))); - selectedProfile.set( - profiles.stream() - .filter(it -> it.getName().equals(config().getSelectedProfile())) - .findFirst() - .orElse(profiles.get(0))); + initialized = true; + }); } public static ObservableList getProfiles() {