Skip to content

Commit ca7a61e

Browse files
authored
fix: 修复模组列表加载时检查错误实例的模组更新 (HMCL-dev#6478)
close HMCL-dev#6448
1 parent 21afc81 commit ca7a61e

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPage.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,9 @@ public void loadInstance(HMCLGameRepository repository, String instanceId) {
100100
private void loadMods(ModManager modManager) {
101101
setLoading(true);
102102

103+
if (this.modManager != modManager) {
104+
getItems().clear();
105+
}
103106
this.modManager = modManager;
104107
CompletableFuture.supplyAsync(() -> {
105108
lock.lock();
@@ -112,6 +115,10 @@ private void loadMods(ModManager modManager) {
112115
lock.unlock();
113116
}
114117
}, Schedulers.io()).whenCompleteAsync((list, exception) -> {
118+
if (this.modManager != modManager) {
119+
return;
120+
}
121+
115122
updateSupportedLoaders(modManager);
116123

117124
if (exception == null) {
@@ -236,6 +243,10 @@ public void openModFolder() {
236243

237244
public void checkUpdates(Collection<LocalModFile> mods) {
238245
Objects.requireNonNull(mods);
246+
if (isLoading()) {
247+
return;
248+
}
249+
239250
Runnable action = () -> Controllers.taskDialog(Task
240251
.composeAsync(() -> {
241252
Optional<String> gameVersion = repository.getGameVersion(instanceId);

0 commit comments

Comments
 (0)