From 40cab56bb90b54a1b037571b2f9d3d7130a5e598 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Wed, 4 Jan 2023 22:42:12 -0800 Subject: [PATCH] UI: Prevent crash installing second game quickly. --- Core/Util/GameManager.cpp | 4 ++-- Core/Util/GameManager.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Core/Util/GameManager.cpp b/Core/Util/GameManager.cpp index 7ae0bdb5ef..a4d192d9ed 100644 --- a/Core/Util/GameManager.cpp +++ b/Core/Util/GameManager.cpp @@ -278,7 +278,7 @@ ZipFileContents DetectZipFileContents(struct zip *z, ZipFileInfo *info) { // Parameters need to be by value, since this is a thread func. bool GameManager::InstallGame(Path url, Path fileName, bool deleteAfter) { - if (installInProgress_) { + if (installInProgress_ || installDonePending_) { ERROR_LOG(HLE, "Cannot have two installs in progress at the same time"); return false; } @@ -708,7 +708,7 @@ bool GameManager::InstallZippedISO(struct zip *z, int isoFileIndex, const Path & } bool GameManager::InstallGameOnThread(const Path &url, const Path &fileName, bool deleteAfter) { - if (installInProgress_) { + if (installInProgress_ || installDonePending_) { return false; } installThread_.reset(new std::thread(std::bind(&GameManager::InstallGame, this, url, fileName, deleteAfter))); diff --git a/Core/Util/GameManager.h b/Core/Util/GameManager.h index f7fc8ff7b5..336a38908f 100644 --- a/Core/Util/GameManager.h +++ b/Core/Util/GameManager.h @@ -58,7 +58,7 @@ public: void Update(); GameManagerState GetState() { - if (installInProgress_) + if (installInProgress_ || installDonePending_) return GameManagerState::INSTALLING; if (curDownload_) return GameManagerState::DOWNLOADING;