aboutsummaryrefslogtreecommitdiff
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
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
-rw-r--r--.github/workflows/backport.yml2
-rw-r--r--launcher/modplatform/atlauncher/ATLPackInstallTask.cpp21
2 files changed, 19 insertions, 4 deletions
diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml
index 77c1a880..08cfb56d 100644
--- a/.github/workflows/backport.yml
+++ b/.github/workflows/backport.yml
@@ -24,7 +24,7 @@ jobs:
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Create backport PRs
- uses: korthout/backport-action@v1.3.1
+ uses: korthout/backport-action@v1.4.0
with:
# Config README: https://github.com/korthout/backport-action#backport-action
pull_description: |-
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;
}