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 | |
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
-rw-r--r-- | .github/workflows/backport.yml | 2 | ||||
-rw-r--r-- | launcher/modplatform/atlauncher/ATLPackInstallTask.cpp | 21 |
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; } |