Utility: Release volatile memory on a forced shutdown, fix dialog savestates

- The Yugioh savedata workaround force-stopped the other dialog without
  releasing the volatile memory it held, so the savedata helper then waited
  for it forever.
- Screenshot's ShutdownStart and Update succeeded when no screenshot was
  running, putting it back into SHUTDOWN.
- Savestates: Netconf didn't keep its request address, and a DNS json
  download going on was gone after a load, so it could wait for it forever;
  it now fetches the json again (it's cached). NpSignin didn't keep its
  request address either. Both restart their timeouts instead of timing out
  at once. With states from before, they keep the current address as they
  used to.
- Loading a state from before NpSignin, GameSharing or HtmlViewer were saved
  resets them rather than keeping this session's state (including the
  HtmlViewer's memory block), and without Shutdown's side effects, which
  would write to the loaded memory and release its volatile lock.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Henrik RydgårdandClaude Opus 5.5 committed 2026-09-25 12:50:41 -06:00
1 parent 6dffcc91d2
commit 41b5074a98
9 files changed
+68 -6

No files matched your search

+8
View File
@@ -191,6 +191,14 @@ int PSPHtmlViewerDialog::Shutdown(bool force) {
return 0;
}
void PSPHtmlViewerDialog::ResetState() {
PSPDialog::ResetState();
// The block belonged to this session's memory, not the loaded one.
workMemory_ = 0;
started_ = false;
params_ = 0;
}
void PSPHtmlViewerDialog::DoState(PointerWrap &p) {
PSPDialog::DoState(p);