aboutsummaryrefslogtreecommitdiff
path: root/launcher
diff options
context:
space:
mode:
authorTrial97 <alexandru.tripon97@gmail.com>2023-08-17 15:25:32 +0300
committerTrial97 <alexandru.tripon97@gmail.com>2023-08-17 15:25:32 +0300
commitbc0934a19ca73e38c000d01646392fa3470094ea (patch)
tree3240e640d6667ceff64c9dcfe2723d7877ccd943 /launcher
parentf8ffb146194d6dd4de79a217b616d2d11aeb26d2 (diff)
parent85f36ebed7e1295547cd2324d1baf7834be89c31 (diff)
downloadPrismLauncher-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.cpp21
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;
}