diff options
author | Trial97 <alexandru.tripon97@gmail.com> | 2023-08-17 15:25:32 +0300 |
---|---|---|
committer | Trial97 <alexandru.tripon97@gmail.com> | 2023-08-17 15:25:32 +0300 |
commit | bc0934a19ca73e38c000d01646392fa3470094ea (patch) | |
tree | 3240e640d6667ceff64c9dcfe2723d7877ccd943 /launcher | |
parent | f8ffb146194d6dd4de79a217b616d2d11aeb26d2 (diff) | |
parent | 85f36ebed7e1295547cd2324d1baf7834be89c31 (diff) | |
download | PrismLauncher-bc0934a19ca73e38c000d01646392fa3470094ea.tar.gz PrismLauncher-bc0934a19ca73e38c000d01646392fa3470094ea.tar.bz2 PrismLauncher-bc0934a19ca73e38c000d01646392fa3470094ea.zip |
Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into curseforge-url-handle
Diffstat (limited to 'launcher')
-rw-r--r-- | launcher/modplatform/atlauncher/ATLPackInstallTask.cpp | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp b/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp index 5d1a361d..e5771b7c 100644 --- a/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp +++ b/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp @@ -1005,15 +1005,30 @@ static Meta::Version::Ptr getComponentVersion(const QString& uid, const QString& if (!vlist) return {}; - if (!vlist->isLoaded()) - vlist->load(Net::Mode::Online); + if (!vlist->isLoaded()) { + QEventLoop loadVersionLoop; + auto task = vlist->getLoadTask(); + QObject::connect(task.get(), &Task::finished, &loadVersionLoop, &QEventLoop::quit); + if (!task->isRunning()) + task->start(); + + loadVersionLoop.exec(); + } auto ver = vlist->getVersion(version); if (!ver) return {}; - if (!ver->isLoaded()) + if (!ver->isLoaded()) { + QEventLoop loadVersionLoop; ver->load(Net::Mode::Online); + auto task = ver->getCurrentTask(); + QObject::connect(task.get(), &Task::finished, &loadVersionLoop, &QEventLoop::quit); + if (!task->isRunning()) + task->start(); + + loadVersionLoop.exec(); + } return ver; } |