diff --git a/Core/Util/GameManager.cpp b/Core/Util/GameManager.cpp index c8e09e4ab8..549380ca9d 100644 --- a/Core/Util/GameManager.cpp +++ b/Core/Util/GameManager.cpp @@ -171,11 +171,8 @@ void GameManager::Update() { } if (installDonePending_) { - if (installThread_.get() != nullptr) { - if (installThread_->joinable()) - installThread_->join(); - installThread_.reset(); - } + if (installThread_.joinable()) + installThread_.join(); installDonePending_ = false; } } @@ -717,7 +714,7 @@ bool GameManager::InstallGameOnThread(const Path &url, const Path &fileName, boo if (installInProgress_ || installDonePending_) { return false; } - installThread_.reset(new std::thread(std::bind(&GameManager::InstallGame, this, url, fileName, deleteAfter))); + installThread_ = std::thread(std::bind(&GameManager::InstallGame, this, url, fileName, deleteAfter)); return true; } diff --git a/Core/Util/GameManager.h b/Core/Util/GameManager.h index 8aff30da05..f0fa290dbf 100644 --- a/Core/Util/GameManager.h +++ b/Core/Util/GameManager.h @@ -92,7 +92,7 @@ private: std::string GetPBPGameID(FileLoader *loader) const; std::string GetISOGameID(FileLoader *loader) const; std::shared_ptr curDownload_; - std::shared_ptr installThread_; + std::thread installThread_; bool installInProgress_ = false; bool installDonePending_ = false; float installProgress_ = 0.0f;