mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-01 14:58:14 +00:00
Don't crash at exit with a download still in flight
A request started since the last RequestManager::Update (headless never calls it) sat in newDownloads_, which CancelAll skipped. It was then destroyed along with the static g_DownloadManager at exit, and its destructor removed its progress bar from the already destroyed g_OSD: "mutex lock failed". Seen with a Netconf dialog still downloading the infra DNS json when a test ended. CancelAll now takes the new ones too, and runs at shutdown while g_OSD is still there. The Netconf json request is also let go of when the emulator shuts down, rather than living on into the next game. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
1 parent
428c1a6aa6
commit
f20dd7565b
4 files changed
+18
No files matched your search
@@ -168,6 +168,11 @@ restart:
|
||||
}
|
||||
|
||||
void RequestManager::CancelAll() {
|
||||
// Including ones started since the last Update (headless never calls it).
|
||||
for (auto &iter : newDownloads_) {
|
||||
downloads_.push_back(iter);
|
||||
}
|
||||
newDownloads_.clear();
|
||||
for (size_t i = 0; i < downloads_.size(); i++) {
|
||||
downloads_[i]->Cancel();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user