From b4738f383b47c897baaac25caf46647311ce80cd Mon Sep 17 00:00:00 2001 From: huanghongxun Date: Thu, 11 Oct 2018 12:59:06 +0800 Subject: [PATCH] Fix not on FX thread --- .../org/jackhuang/hmcl/setting/Profile.java | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Profile.java b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Profile.java index 6cdd41a34..18630b7b3 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Profile.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Profile.java @@ -18,6 +18,7 @@ package org.jackhuang.hmcl.setting; import com.google.gson.*; +import com.jfoenix.concurrency.JFXUtilities; import javafx.application.Platform; import javafx.beans.InvalidationListener; import javafx.beans.Observable; @@ -146,15 +147,17 @@ public final class Profile implements Observable { } private void checkSelectedVersion() { - if (!repository.isLoaded()) return; - String newValue = selectedVersion.get(); - if (!repository.hasVersion(newValue)) { - Optional version = repository.getVersions().stream().findFirst().map(Version::getId); - if (version.isPresent()) - selectedVersion.setValue(version.get()); - else if (newValue != null) - selectedVersion.setValue(null); - } + JFXUtilities.runInFX(() -> { + if (!repository.isLoaded()) return; + String newValue = selectedVersion.get(); + if (!repository.hasVersion(newValue)) { + Optional version = repository.getVersions().stream().findFirst().map(Version::getId); + if (version.isPresent()) + selectedVersion.setValue(version.get()); + else if (newValue != null) + selectedVersion.setValue(null); + } + }); } public HMCLGameRepository getRepository() {